对多维数组列中的值求和
多维数组在对特定列求和时提出了挑战。考虑给出的示例数组:
$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中文网其他相关文章!