Heim >Datenbank >MySQL-Tutorial >Wie summiere ich die Werte einer 2D-Array-Spalte in PHP ohne „foreach'-Schleifen?

Wie summiere ich die Werte einer 2D-Array-Spalte in PHP ohne „foreach'-Schleifen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-13 12:08:11683Durchsuche

How to Sum a 2D Array Column's Values in PHP without `foreach` Loops?

Summieren von Werten in einer 2D-Array-Spalte ohne Foreach-Schleifen

In PHP 5.4 ist es möglich, Werte in einer angegebenen Spalte von a zu summieren 2D-Array ohne Rückgriff auf foreach-Schleifen.

Betrachten Sie das folgende mehrdimensionale array:

Array (
    [0] => Array ( [f_count] => 1 [uid] => 105 )
    [1] => Array ( [f_count] => 0 [uid] => 106 )
    [2] => Array ( [f_count] => 2 [uid] => 107 )
    [3] => Array ( [f_count] => 0 [uid] => 108 )
    [4] => Array ( [f_count] => 1 [uid] => 109 )
    [5] => Array ( [f_count] => 0 [uid] => 110 )
    [6] => Array ( [f_count] => 3 [uid] => 111 )
)

Um die Werte in der Spalte „f_count“ zu summieren, können wir die Funktionen array_column und array_sum verwenden:

$value = array_sum(array_column($arr,'f_count'));

Diese Methode extrahiert die Werte „f_count“ aus der Array mit array_column in ein eindimensionales Array umwandelt und dann mit array_sum die Werte in diesem Array summiert, was den Summenwert von ergibt 7.

Wenn Sie alternativ ein anderes SQL-Abfrageformat bevorzugen, können Sie Ihre Abfrage so ändern, dass sie ein eindimensionales Array zurückgibt:

$query = "SELECT SUM(f_count) AS f_count_sum FROM users WHERE gid=:gid";
...
$value = $stmt->fetchColumn();

Diese Abfrage gibt eine einzelne Spalte mit dem Namen „f_count_sum“ zurück " enthält die Summe aller „f_count“-Werte, auf die dann direkt mit fetchColumn() zugegriffen werden kann.

Das obige ist der detaillierte Inhalt vonWie summiere ich die Werte einer 2D-Array-Spalte in PHP ohne „foreach'-Schleifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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