0

对你来说可能很简单:

我有 2 个数组

$array1 = array(
  'foo' => 5,
  'bar' => 10,
  'baz' => 6
);

$array2 = array(
  'x' => 100,
  'y' => 200,
  'baz' => 30
);

我希望通过结合以上两者来获得第三个数组,应该是:

$result_array = array(
  'foo' => 5,
  'bar' => 10,
  'baz' => 36,
  'x' => 100,
  'y' => 200,
);

是否有任何内置的“数组方式”可以做到这一点,还是我必须编写自己的函数?谢谢

4

3 回答 3

2
$resultArray = $array1;
foreach($array2 as $key => $value) {
   if (isset($resultArray[$key])) {
      $resultArray[$key] += $value;
   } else {
      $resultArray[$key] = $value;
   }
}
于 2011-01-25T21:31:10.327 回答
1

没有内置函数,你必须自己编写。

于 2011-01-25T21:31:25.847 回答
-2

你需要

$newArray = $array1;
foreach($array2 as $key => $value) {
    if(array_key_exists($key, $newArray)){
     $newArray[$key] += $value;
    }else{
     $newArray[$key] = $value;
    }
}
于 2011-01-25T21:28:11.283 回答