반응형
나는 이것을 가지고있다:
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 )
)
필요한 것은 7
"이며 f_count
열의 합계입니다.
PHP 5.4를 실행하고 있습니다.
누군가가 foreach
루프없이 해당 열을 합산하는 방법을 보여줄 수 있습니까?
도움이된다면 f_count
값은 100
보다 크지 않으며 uid
값은 항상 100 코드>.
또는 배열이 다차원이 아니도록 쿼리를 다르게 실행하는 방법이 있다면 분명히 작동합니다.
$query = "SELECT f_count, uid FROM users WHERE gid=:gid";
...
$array = $stmt->fetchAll();
PDO를 사용하고 있습니다.
해결 방법
array_sum(array_map(function($item) {
return $item['f_count'];
}, $arr));
array_reduce($arr, function(&$res, $item) {
return $res + $item['f_count'];
}, 0);
그러나 속도가 유일한 관심사라면 foreach
가 가장 빠릅니다.
$sum = 0;
foreach ($arr as $item) {
$sum += $item['f_count'];
}
이는 사용중인 변수의 "지역성"덕분입니다. 즉, 최종 합계를 계산하는 데 사용되는 함수 호출이 없습니다.
참조 페이지 https://stackoverflow.com/questions/16138395
반응형
'MySql' 카테고리의 다른 글
MySQL 레일에서 여러 테이블 결합 (0) | 2021.01.03 |
---|---|
MySQL Node.js 및 mysql 콜백 : 쿼리 콜백의 쿼리 (0) | 2021.01.03 |
MySQL 데이터베이스에서 PHP 테이블로 특정 데이터를 가져 오는 방법은 무엇입니까? (0) | 2021.01.02 |
MySQL 삭제하기 전에 자바 스크립트 삭제 확인 (0) | 2021.01.02 |
MySQL stdClass 객체 제목을 에코하는 방법 (0) | 2021.01.02 |
댓글