Duplicar posible:
PHP: How to sum values of the array of the same keycómo combinar dos matrices sumando los valores fusionados
Busco a una función array_merge()
que no sustituye los valores, pero los añade.
ejemplo, este es el código que estoy tratando:
echo "<pre>";
$a1 = array(
"a" => 2
,"b" => 0
,"c" => 5
);
$a2 = array(
"a" => 3
,"b" => 9
,"c" => 7
,"d" => 10
);
$a3 = array_merge($a1, $a2);
print_r($a3);
Lamentablemente, esta Muestra esto:
Array
(
[a] => 3
[b] => 9
[c] => 7
[d] => 10
)
Luego trató, en lugar de array_merge
, simplemente añadiendo los dos arrays
$a3 = $a1 + $a2;
Pero esto da salida a
Array
(
[a] => 2
[b] => 0
[c] => 5
[d] => 10
)
Lo que realmente quiero es poder pasar tantas matrices como sea necesario, y luego obtener su suma. Así que en mi ejemplo, quiero que la salida sea:
Array
(
[a] => 5
[b] => 9
[c] => 12
[d] => 10
)
Por supuesto que puedo schlepp y construir alguna función con muchas foreach
etc, pero estoy buscando o una solución más elegante, más limpio. Gracias por cualquier punteros!
Esto suena como el tipo de cosa para la que desea escribir una función. No lo consideraría "trampolín" de ninguna manera, esto es algo bastante único que quiero hacer. Sin embargo, podría demostrarse que estoy equivocado, pero no creo que haya ninguna función nativa que pueda manejar esto sola. Si la solución es escribir una función, ¿todavía necesita ayuda? –
Creo que no hay una función incorporada que pueda hacer esto, verifique esta pregunta: http://stackoverflow.com/questions/1496682/php-how-to-sum-values-of-the-array-of-the -misma-clave –
La pregunta está formulada mal. 'array_merge' * fusiona dos matrices al tiempo que mantiene ** todas ** las claves *. Pero desea * sumar el ** valor ** de teclas idénticas de dos matrices *, que es otra cosa. – deceze