PHP使用相同键合并(添加)两个数组

时间:2015-06-15 10:48:19

标签: php arrays array-merge

我有两个阵列。

$a = array('a' => 2, 'b' => 5, 'c' => 8);
$b = array('a' => 3, 'b' => 7, 'c' => 10);

我想合并这两个数组并得到以下结果。

$c = array('a' => 5, 'b' => 12, 'c' => 18);

将此归档的最简单方法是什么?

谢谢!

4 个答案:

答案 0 :(得分:1)

$c = array();
foreach ($a as $k => $v) {
    if (isset($b[$k])) {
        $c[$k] = $b[$k] + $v;
    }
}

您需要检查两个数组中是否存在密钥。

答案 1 :(得分:1)

正如评论中所提到的,循环遍历数组就可以了。

$a = array('a' => 2, 'b' => 5, 'c' => 8);
$b = array('a' => 3, 'b' => 7, 'c' => 10);
$c = array();
foreach($a as $index => $item) {
  if(isset($b[$index])) {
    $new_value = $a[$index] + $b[$index];
    $c[$index] = $new_value;
  }
}

答案 2 :(得分:1)

您可以通过foreach循环轻松完成此操作,请参阅下面的示例     

$c = array();
$a = array('a' => 2, 'b' => 5, 'c' => 8);
$b = array('a' => 3, 'b' => 7, 'c' => 10);
foreach ($a as $key => $value) {
    $tmp_value = $a[$key] + $b[$key];
    $c[$key] = $tmp_value;
}
print_r($c);

答案 3 :(得分:1)

您只需使用foreach作为

即可
foreach($b as $key => $value){
    if(in_array($key,array_keys($a)))
        $result[$key] = $a[$key]+$value;

}