Heim > Backend-Entwicklung > PHP-Tutorial > Wie summiere ich Spaltenwerte in mehrdimensionalen Arrays mit dynamischen Schlüsseln in PHP?

Wie summiere ich Spaltenwerte in mehrdimensionalen Arrays mit dynamischen Schlüsseln in PHP?

Patricia Arquette
Freigeben: 2024-12-16 22:03:11
Original
994 Leute haben es durchsucht

How to Sum Column Values in Multi-Dimensional Arrays with Dynamic Keys in PHP?

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

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

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

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

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!

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