Heim >Backend-Entwicklung >PHP-Tutorial >Wie berechnet man Spaltensummen in unregelmäßigen mehrdimensionalen Arrays effizient?
So berechnen Sie Spaltensummen in einem mehrdimensionalen Array
Stellen Sie sich ein mehrdimensionales Array vor, in dem Elemente in Zeilen und Spalten angeordnet sind. Die Schlüsselsätze können sich jedoch dynamisch ändern. Die Aufgabe besteht darin, die Summe der Werte innerhalb jeder Spalte zu berechnen, unabhängig von Schlüsselvariationen.
Array_Walk_Recursive-Methode
Für eine allgemeine Lösung, bei der innere Arrays eindeutige Schlüssel haben können, verwenden Sie array_walk_recursive():
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
Array_Column Methode
Wenn bestimmte Schlüsselwerte summiert werden müssen, kann array_column() verwendet werden:
array_sum(array_column($input, 'gozhi')); // Sums the 'gozhi' column
Für einheitliche innere Arrays
Wenn alle inneren Arrays die gleichen Schlüssel haben, erhalten Sie die anfängliche Schlüsselstruktur:
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Allgemeiner Fall mit Array_Column
Eindeutige Schlüssel extrahieren und Spaltensummen durchführen:
$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 berechnet man Spaltensummen in unregelmäßigen mehrdimensionalen Arrays effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!