Возможный дубликат:
Объединить 2 массива и суммировать значения (числовые клавиши)
У меня два массива имеют одинаковые ключи, я хочу добавить ключевые значения,
пример
$arr1 = array("first"=>10,"second"=>20); $arr2 = array("first"=>20,"second"=>30); want to create new array which add these two array values like $arr3 = array("first"=>30,"second"=>50);
Как я могу сделать это в одной строке, я могу сделать это, используя forach или другую технику, но задаюсь вопросом, знает ли кто-нибудь хороший способ сделать?
Пример для строковых ключей (обратите внимание, что проверка ошибок не выполняется!):
$arr1 = array("first"=>10,"second"=>20); $arr2 = array("first"=>20,"second"=>30); $arr3 = $arr1; array_walk($arr3, function (&$val, $key, $foo) { $val += $foo[$key]; }, $arr2); print_r($arr3); /*Array ( [first] => 30 [second] => 50 )*/