문제

Probably a simple one for you :

I have 2 arrays

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

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

I wish to get a third array by combining both the above, which should be :

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

Is there any built in 'array - way' to do this, or will I have to write my own function ? Thanks

도움이 되었습니까?

해결책

$resultArray = $array1;
foreach($array2 as $key => $value) {
   if (isset($resultArray[$key])) {
      $resultArray[$key] += $value;
   } else {
      $resultArray[$key] = $value;
   }
}

다른 팁

There's no built-in function for this, you'll have to write your own.

you need

$newArray = $array1;
foreach($array2 as $key => $value) {
    if(array_key_exists($key, $newArray)){
     $newArray[$key] += $value;
    }else{
     $newArray[$key] = $value;
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top