将第一个数组的元素添加到第二个数组

Adding elements from first array to second array

我有2个数组

第一个数组

Array ( [2019-04-29] => Array ( [0] => 366 [1] => 82 [2] => 44 ) [2019-04-30] => Array ( [0] => 330 [1] => 115 [2] => 55 ) ) 

第二个数组

Array ( [0] => 492 [1] => 500 ) 

需要像这样将这些数组与输出合并。

Array ( [0] => Array ( [0] => 492 [1] => 366 [2] => 82 [3] => 44 ) [1] => Array ( [0] => 500 [1] => 330 [2] => 115 [3] => 55 ) ) 

请帮忙。

您可以使用 array_walkarray_merge

$arr1 = Array ( 
        '2019-04-29' => Array (
                 '0' => 366, 
                 '1' => 82, 
                 '2' => 44 
        ) ,
        '2019-04-30' => Array ( 
                '0' => 330,
                '1' => 115, 
                '2' => 55 
        )
);
$arr2 = Array ( '0' => 492 ,'1' => 500 ) ;
$index = 0;
$res=[];
array_walk($arr1, function($v,$k) use (&$res,$arr2,&$index){
  $res[] = array_merge(array($arr2[$index]),$v);
  $index++;
});  
echo '<pre>';
print_r($res);

结果

Array
(
[0] => Array
    (
        [0] => 492
        [1] => 366
        [2] => 82
        [3] => 44
    )

[1] => Array
    (
        [0] => 500
        [1] => 330
        [2] => 115
        [3] => 55
    )

)

您可以使用 foreach 循环和 array_merge, after using array_values$array1 重新索引为从 0 开始的数字索引。

$array1 = array_values($array1);
foreach ($array2 as $k => &$v) {
    $v = array_merge(array($v), $array1[$k]);
}
print_r($array2);

输出:

Array 
(
[0] => Array
    (
        [0] => 492
        [1] => 366
        [2] => 82
        [3] => 44
    )

[1] => Array
    (
        [0] => 500
        [1] => 330
        [2] => 115
        [3] => 55
    )
)

Demo on 3v4l.org

您可以 array_walk and array_merge 与传统增量器组合使用

array_walk($arr1, function (&$item, $key) use ($arr2,&$i) { // $i should change at memory address
    $item = array_merge($item, [$arr2[$i]]);
    $i++;
});

输出

Array
(
    [2019-04-29] => Array
        (
            [0] => 366
            [1] => 82
            [2] => 44
            [3] => 492
        )

    [2019-04-30] => Array
        (
            [0] => 330
            [1] => 115
            [2] => 55
            [3] => 500
        )

)

Demo.