對多維數組列中的值求和
多維數組在對特定列求和時提出了挑戰。考慮給出的範例陣列:
$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] ];
所需的輸出是 7,它是 f_count 欄位的總和。
沒有Foreach 循環的解決方案
PHP 5.5 及更高版本提供了兩個函數來簡化此操作任務:
使用這些函數,我們無需foreach即可獲得總和循環:
$f_count_column = array_column($arr, 'f_count'); $sum = array_sum($f_count_column);
替代方法:重建查詢
我們可以重構查詢以傳回一維數組,而不是檢索多維數組:
$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'];
以上是如何有效地對多維數組的特定列中的值求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!