집 >데이터 베이스 >MySQL 튜토리얼 >다차원 배열의 특정 열에 있는 값을 효율적으로 합산하는 방법은 무엇입니까?
다차원 배열 열의 값 합계
다차원 배열은 특정 열을 합산하는 데 문제가 있습니다. 주어진 예제 배열을 고려하십시오.
$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] ];
원하는 출력은 f_count 열의 합계인 7입니다.
Foreach 루프가 없는 솔루션
PHP 5.5 이상에서는 이를 단순화하는 두 가지 기능을 제공합니다. task:
이러한 함수를 사용하면 foreach 없이 합계를 얻을 수 있습니다. 루프:
$f_count_column = array_column($arr, 'f_count'); $sum = array_sum($f_count_column);
대체 접근 방식: 쿼리 재구성
다차원 배열을 검색하는 대신 쿼리를 재구성하여 1차원 배열을 반환할 수 있습니다.
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!