2013-07-08 5 views
0

Я ищу, чтобы объединить два массива в один массив, но я хотел бы сохранить ключевые значения одинаковыми и скопировать их значения в один.php сочетает значения ключа массива?

Использование 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 

); 
+0

вам нужно использовать цикл для этого –

ответ

1

Вы можете добавить массивы, добавляя каждый из индексов (это предполагает, что ваш первый массив array1 и так далее)

<?php 
for ($i = 1; $i <= 4; $i ++) { 
    $array3[i] = $array1[i] + $array2[i]; 
} 
?> 

Предполагая, что в каждом из ваших массивов есть 4 переменные.

0
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); 
0
$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; 
} 
Смежные вопросы