Spaltenwerte in mehrdimensionalen Arrays summieren
Frage:
Wie können Sie berechnen? die Summe der Spaltenwerte in einem mehrdimensionalen Array, in dem sich die assoziativen Schlüssel befinden dynamisch?
Antwort:
Um Spaltenwerte in einem mehrdimensionalen Array mit dynamischen Schlüsseln zu summieren, können Sie array_walk_recursive() verwenden. Es bietet eine allgemeine Lösung für Fälle, in denen jedes innere Array eindeutige Schlüssel hat.
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
Für bestimmte Schlüssel ist array_column() eine geeignete Option, verfügbar seit PHP 5.5.
array_sum(array_column($input, 'gozhi')); // for key 'gozhi'
Um die Gesamtsumme der Spalten mit denselben Schlüsseln zu erhalten, können Sie das erste innere Array als Basis extrahieren und die Werte für jeden Schlüssel mit summieren array_column() und fügen Sie sie zur Basis hinzu:
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Für eine allgemeine Lösung mit array_column() sollten Sie zunächst alle eindeutigen Schlüssel abrufen und dann berechnen die Summe für jeden:
$final = array(); foreach($input as $value) $final = array_merge($final, $value); foreach($final as $key => &$value) $value = array_sum(array_column($input, $key)); unset($value);
Das obige ist der detaillierte Inhalt vonWie summiere ich Spaltenwerte in mehrdimensionalen Arrays mit dynamischen Schlüsseln in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!