Php Laravel 5.4-关联两个阵列

Php Laravel 5.4-关联两个阵列,php,arrays,laravel,Php,Arrays,Laravel,我想“关联”两个数组,我需要合并日期,但要将第二行数据添加到另一个数组中 一个例子更容易理解: 阵列1: array:2 [▼ "July 2017" => 2 "May 2017" => 1 ] 阵列2: array:5 [▼ "April 2017" => 1 "July 2017" => 1 "June 2017" => 1 "March 2016" => 1 "September 2016" => 1 ] 结果

我想“关联”两个数组,我需要合并日期,但要将第二行数据添加到另一个数组中

一个例子更容易理解:

阵列1:

  array:2 [▼
  "July 2017" => 2
  "May 2017" => 1
]
阵列2:

array:5 [▼
  "April 2017" => 1
  "July 2017" => 1
  "June 2017" => 1
  "March 2016" => 1
  "September 2016" => 1
]
结果是:

array [
      ['April 2017', 1, 0],
      ['July 2017', 1, 2],
      ['June 2017', 1, 0],
      ['March 2016', 1, 0],
      ['September 2016', 1, 0],
      ['May 2017', 0, 1]
    ]
将合并具有相同名称(和年份)的所有月份。数组1中的数据添加到数组2之后。所以它变成了一个数组的数组

但是我找不到任何能做这项工作的函数


谢谢你的帮助

很容易实现。

<?php

$array1 = array(
    "July 2017" => 2,
    "May 2017" => 1
);

$array2 = array(
  "April 2017" => 1,
  "July 2017" => 1,
  "June 2017" => 1,
  "March 2016" => 1,
  "September 2016" => 1
);

$array3 = $array2 + $array1;
$out = array();

foreach( $array3 as $k=>$v )
{
    $out[] = array($k, (isset($array2[$k]) ? $array2[$k]:0), (isset($array1[$k]) ? $array1[$k]:0));
}

print_r( $out );

到现在为止你都试过什么?我发现了类似于
array\u merge
的东西,但这是一个加法,我需要的不仅仅是一个简单的加法。我认为您的结果集中有问题,请检查!!我甚至不明白你的例子。。。示例:在您的结果中:“2017年6月”=>1,2“但这2意味着什么?他试图对2个数组进行数组合并,然后对6月(1+1)求和(我猜所有月份都使用相同的名称),但我不知道1从何而来(来自第一个或第二个数组),因为他在2017年5月有,0?!对你来说很简单;)不管怎样,它都在工作,谢谢!如果你有时间解释在foreach中发生了什么,我会很感兴趣,$array3在当前任务中是不需要的,但它所用的只是获得$array1和$array2的总数组密钥,没有更多(我知道,我知道,这是肮脏的解决方案)。然后,foreach代码仅基于$array1值和$array2值构建所需的数组。
Array
(
    [0] => Array
        (
            [0] => April 2017
            [1] => 1
            [2] => 0
        )

    [1] => Array
        (
            [0] => July 2017
            [1] => 1
            [2] => 2
        )

    [2] => Array
        (
            [0] => June 2017
            [1] => 1
            [2] => 0
        )

    [3] => Array
        (
            [0] => March 2016
            [1] => 1
            [2] => 0
        )

    [4] => Array
        (
            [0] => September 2016
            [1] => 1
            [2] => 0
        )

    [5] => Array
        (
            [0] => May 2017
            [1] => 0
            [2] => 1
        )

)