php组合数组键值?

php组合数组键值?,php,arrays,key,Php,Arrays,Key,我希望将两个数组合并到一个数组中,但我希望保持键值不变,并将它们的值累积到一个数组中 使用PHP,我正在寻找如下内容: //inputs array( cat => 4, dog => 3, bug => 6 ); array( cat => 2, dog => 5, bug => 9, ant => 3 ); //output array( cat => 6, dog => 8

我希望将两个数组合并到一个数组中,但我希望保持键值不变,并将它们的值累积到一个数组中

使用PHP,我正在寻找如下内容:

//inputs
array(
   cat => 4,
   dog => 3,
   bug => 6

);

array(
   cat => 2,
   dog => 5,
   bug => 9,
   ant => 3

);


//output
array(
   cat => 6,
   dog => 8,
   bug => 15,
   ant => 3

);

可以通过添加每个索引来添加数组:(假设第一个数组是array1,依此类推)



假设每个数组中都有4个变量。

可以通过添加每个索引来添加数组:(假设第一个数组是array1,依此类推)

function func(&$value, $key) {
    $value = (isset($value[1]) ? $value[0] + $value[1] : $value[0]);
}

$new_array = array_merge_recursive($array1, $array2);
array_walk($new_array, 'func');
print_r($new_array);


假设每个数组中都有4个变量。

您需要使用loop来实现这一点,您需要使用loop来实现这一点
function func(&$value, $key) {
    $value = (isset($value[1]) ? $value[0] + $value[1] : $value[0]);
}

$new_array = array_merge_recursive($array1, $array2);
array_walk($new_array, 'func');
print_r($new_array);
$final_array = array ();

// u can iterate and get the name of the key while doing so, like so
// add the first array
foreach ($array1 as $prop=>$val)
{
    $final_array[$prop]+=$val;
}


//add the second array
foreach ($array2 as $prop=>$val)
{
    $final_array[$prop]+=$val;
}

//result is in final_array

//or more efficiently, just add the second to the first
foreach ($array2 as $prop=>$val)
{
    $array1[$prop]+=$val;
}