So summieren Sie Spaltenwerte in mehrdimensionalen Arrays
In mehrdimensionalen Arrays ist das Zusammenfassen von Werten entlang von Spalten eine häufige Aufgabe. So wird es gemacht, angesichts der Herausforderung dynamischer assoziativer Schlüsselsätze:
Allgemeine Falllösung mit array_walk_recursive
Mit array_walk_recursive können Sie Spalten unabhängig von der Schlüsselstruktur konsistent zusammenfassen :
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
array_column() für exakte Schlüssel
Ab PHP 5.5 können Sie array_column verwenden, um bestimmte Spalten effizient zusammenzufassen:
array_sum(array_column($input, 'gozhi')); // For 'gozhi' column
Gesamtsumme für alle Schlüsselsätze
Wenn Sie die Gesamtsumme aller inneren Arrays mit passenden Schlüsseln (wie in der gewünschten Ausgabe) wünschen, verwenden Sie dies Ansatz:
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Allgemeine Lösung mit array_column
Ein fortgeschrittenerer Ansatz mit array_column beinhaltet die Identifizierung aller eindeutigen Schlüssel und die anschließende Zusammenfassung:
$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 summiert man Spaltenwerte in mehrdimensionalen PHP-Arrays effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!