将元素从一个数组追加到另一个数组

时间:2013-05-30 03:41:15

标签: php arrays data-structures multidimensional-array array-merge

我有$array1$array2两者都来自 CodeIgniter ->result_array()

ARRAY1

Array(
    [0] => Array(
            [name] => John,                
            [course] => BSIT 
            ),
    [1] => Array(
            [name] => Jane,                
            [course] => BSHRM 
            )
)

ARRAY2

Array(
        [0] => Array(
                [balance] => 1000,                
                [date] => 2013-05-01 
                ),
        [1] => Array(
                [balance] => 2000,                
                [date] => 2013-05-07 
                )
    )

我的问题是如何才能将[balance], [date]中的$array2元素附加到$array1,它看起来像这样:

 Array(
        [0] => Array(
                [name] => John,                
                [course] => BSIT
                [balance] => 1000,                
                [date] => 2013-05-01 
                ),
        [1] => Array(
                [name] => Jane,                
                [course] => BSHRM 
                [balance] => 2000,                
                [date] => 2013-05-07 
                )
    )

我试过了:

for($i = 0; $i<count($array1); $i++)
{
    array_merge($array1[$i], $array2[$i]);
}

但它似乎不起作用:即使我这样做,我也会收到错误arguments are not array

for($i = 0; $i<count($array1); $i++)
{
    array_merge(array($array1[$i]), array($array2[$i]));
}

这怎么可能?

3 个答案:

答案 0 :(得分:2)

尝试将array_merge设置为等于:

for($i = 0; $i<count($array1); $i++)
{
    $array1[$i] = array_merge($array1[$i], $array2[$i]);
}

答案 1 :(得分:1)

$merged_array = array_map(function($a, $b) {
  return array_merge($a, $b);
}, $array1, $array2));

答案 2 :(得分:0)

尝试使用array_merge_recursive()函数