Heim >Datenbank >MySQL-Tutorial >Wie summiert man Werte in einer bestimmten Spalte eines mehrdimensionalen Arrays effizient?
Summenwerte in einer mehrdimensionalen Array-Spalte
Mehrdimensionale Arrays stellen eine Herausforderung dar, wenn es um die Summierung bestimmter Spalten geht. Betrachten Sie das angegebene Beispielarray:
$arr = [ [0] => ['f_count' => 1, 'uid' => 105], [1] => ['f_count' => 0, 'uid' => 106], [2] => ['f_count' => 2, 'uid' => 107], [3] => ['f_count' => 0, 'uid' => 108], [4] => ['f_count' => 1, 'uid' => 109], [5] => ['f_count' => 0, 'uid' => 110], [6] => ['f_count' => 3, 'uid' => 111] ];
Die gewünschte Ausgabe ist 7, was der Summe der f_count-Spalte entspricht.
Lösung ohne Foreach-Schleife
PHP 5.5 und höher bietet zwei Funktionen, die dies vereinfachen Aufgabe:
Mit diesen Funktionen können wir die Summe ohne foreach ermitteln Schleife:
$f_count_column = array_column($arr, 'f_count'); $sum = array_sum($f_count_column);
Alternativer Ansatz: Umstrukturierung der Abfrage
Anstatt ein mehrdimensionales Array abzurufen, können wir die Abfrage umstrukturieren, um ein eindimensionales Array zurückzugeben:
$query = "SELECT SUM(f_count) AS total_f_count FROM users WHERE gid=:gid"; $stmt = $pdo->prepare($query); $stmt->execute([':gid' => $gid]); $row = $stmt->fetch(PDO::FETCH_ASSOC); $total_f_count = $row['total_f_count'];
Das obige ist der detaillierte Inhalt vonWie summiert man Werte in einer bestimmten Spalte eines mehrdimensionalen Arrays effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!