¿Cómo puedo calcular la suma de todos los elementos en una matriz y luego agregar esa suma como un nuevo elemento a la matriz original?

Por ejemplo, la suma de [6,7,8] es 21 por lo que la matriz debería convertirse en [6,7,8,21].

0
Efren Bontuyan 17 oct. 2018 a las 05:39

2 respuestas

La mejor respuesta

Simplemente inserte el valor devuelto de array_sum() al final de la matriz.

Código: (Demo)

$array = [6,7,8];
$array[] = array_sum($array);
var_export($array);

Salida:

array (
  0 => 6,
  1 => 7,
  2 => 8,
  3 => 21,
)

Si está esperando 15 al agregar los dos últimos elementos, use esto:

$array = [6,7,8];
$array[] = array_sum(array_slice($array, -2));
var_export($array);
// [6, 7, 8, 15]
1
mickmackusa 17 oct. 2018 a las 02:50

Podría crear una función para hacer esto, como:

<?php
function sumAppend ( &$array)
{
  $result = array_sum ( $array);
  $array[] = $result;
  return $result;
}
?>
0
Ernani Azevedo 17 oct. 2018 a las 02:43