> 백엔드 개발 > PHP 튜토리얼 > PHP에서 2D 배열 행을 단일 열로 그룹화하고 다른 열을 집계하는 방법은 무엇입니까?

PHP에서 2D 배열 행을 단일 열로 그룹화하고 다른 열을 집계하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-26 00:19:28
원래의
557명이 탐색했습니다.

How to Group 2D Array Rows by a Single Column and Aggregate Another Column in PHP?

2D 배열 행을 단일 열로 그룹화하고 다른 열 집계

특정 열이 있는 2D 행을 포함하는 PHP 배열이 있는 경우 일반적인 작업은 다음을 기준으로 행을 그룹화하는 것입니다. 특정 열에 대해 다른 열의 값을 집계합니다.

예를 들어 다음 배열을 고려해 보세요.

<code class="php">[
    ['url_id' => 2191238, 'time_spent' => 41],
    ['url_id' => 2191606, 'time_spent' => 215],
    ['url_id' => 2191606, 'time_spent' => 25]
]</code>
로그인 후 복사

목표는 각 열에 대한 "time_spent" 열의 합계를 계산하는 것입니다. "url_id" 열의 고유 값입니다. 한 가지 가능한 해결책은 루프를 사용하여 배열을 반복하는 것입니다.

<code class="php">$ts_by_url = array();
foreach($array as $data) {
    if(!array_key_exists($data['url_id'], $ts_by_url))
        $ts_by_url[ $data['url_id'] ] = 0;
    $ts_by_url[ $data['url_id'] ] += $data['time_spent'];
}</code>
로그인 후 복사

전체 배열을 처리한 후 $ts_by_url 배열에는 각 고유 "url_id"에 대한 "time_spent"의 합계가 포함됩니다.

<code class="php">2191238 => 41
2191606 => 240 // == 215 + 25</code>
로그인 후 복사

이 접근 방식은 "url_id"를 기준으로 행을 효과적으로 그룹화하고 "time_spent" 값을 집계합니다. 이는 PHP의 연관 배열 특성을 활용하여 "url_id" 키를 기반으로 값을 효율적으로 저장하고 업데이트합니다.

위 내용은 PHP에서 2D 배열 행을 단일 열로 그룹화하고 다른 열을 집계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿