通过添加它们的值合并两个数组

时间:2016-04-22 08:46:53

标签: php arrays

所以我有两个数组,我希望通过将具有相同键的值合并到一个数组中。

array &a
    Array
    (
        [0] => 4
        [1] => 10
        [2] => 3
        [3] => 10
        [4] => 7
    )
  array &b
    Array
    (
        [0] => 
        [1] => 1
        [2] => 2
        [3] => 2
        [4] => 2

    )

我希望得到的数组为

 Array
    (
        [0] => 4
        [1] => 11
        [2] => 5
        [3] => 12
        [4] => 9

    )

2 个答案:

答案 0 :(得分:3)

您可以同时使用array_map()遍历两个数组。然后你只需要将两个元素一起添加并作为新元素返回。

代码

static void ddict_debug(const char* fmt, ...) G_GNUC_PRINTF(1, 2);

答案 1 :(得分:2)

使用以下代码: -

$a = [4,10,3,10,7];
$b = ['',1,2,2,2];

$res = [];
foreach($a as $k=>$v){
   $res[] = $v + $b[$k]; 
}
echo '<pre>'; print_r($res);

<强>输出: -

Array
(
    [0] => 4
    [1] => 11
    [2] => 5
    [3] => 12
    [4] => 9
)

如果第二个数组$ b与第一个数组$ a没有相似的记录数,则

$a = [4,10,3,10,7];
$b = ['',1,2,2];  // removed last record

$res = [];
foreach($a as $k=>$v){
   $res[] = $v + (!empty($b[$k]) ? $b[$k] : 0); 
}
echo '<pre>'; print_r($res);

<强>输出: -

Array
(
    [0] => 4
    [1] => 11
    [2] => 5
    [3] => 12
    [4] => 7
)