Heim > Backend-Entwicklung > PHP-Tutorial > Wie berechnet man Spaltensummen in unregelmäßigen mehrdimensionalen Arrays effizient?

Wie berechnet man Spaltensummen in unregelmäßigen mehrdimensionalen Arrays effizient?

Susan Sarandon
Freigeben: 2024-12-24 14:45:14
Original
687 Leute haben es durchsucht

How to Efficiently Calculate Column Totals in Irregular Multi-Dimensional Arrays?

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;
});
Nach dem Login kopieren

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
Nach dem Login kopieren

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage