> 백엔드 개발 > PHP 튜토리얼 > PHP에서 배열 데이터를 열별로 그룹화하고 합산하는 방법은 무엇입니까?

PHP에서 배열 데이터를 열별로 그룹화하고 합산하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-06 13:52:12
원래의
965명이 탐색했습니다.

How to Group and Sum Array Data by Column in PHP?

한 열의 배열 데이터를 그룹화하고 다른 열의 데이터를 합하여 평면 연관 배열을 형성

문제:

키-값 쌍이 포함된 배열이 주어지면 특정 열의 값을 기준으로 데이터를 그룹화하고 다른 열의 데이터를 합산합니다. 예를 들어, 다음 배열이 있는 경우:

$array = [
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 1412341234],
    ['name' => 'Bank CIMB Niaga', 'amount' => 532532552], 
    ['name' => 'Bank BRI', 'amount' => 34534534], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 453425243], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BNI', 'amount' => 124124], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 352345623], 
    ['name' => 'Bank BCA', 'amount' => 23432423], 
    ['name' => 'Bank Mandiri', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank Permata', 'amount' => 352352353],
];
로그인 후 복사

해결책:

'이름' 열을 기준으로 데이터를 그룹화하고 'amount' 열에서 다음 단계를 따르세요.

  1. $bankTotals라는 빈 배열을 초기화합니다. 이 배열은 그룹화된 데이터를 저장합니다.
  2. foreach 루프를 사용하여 입력 배열을 반복합니다.
  3. 배열의 각 요소에 대해bankTotals 배열에 'name'과 일치하는 키가 이미 포함되어 있는지 확인하세요. ' 현재 요소의 값.
  4. bankTotals 배열에 현재 'name' 값과 일치하는 키가 없으면 해당 값으로 새 키를 생성하고
  5. bankTotals 배열의 해당 키에 현재 요소의 금액 값을 추가합니다.

전체 입력 배열을 반복한 후 $bankTotals 배열에는 다음이 포함됩니다. 은행 이름을 키로, 합계 금액을 값으로 그룹화한 데이터입니다.

원하는 결과를 얻기 위한 코드는 다음과 같습니다. 출력:

$bankTotals = array();
foreach($array as $amount)
{
  $bankTotals[$amount['name']] += $amount['amount'];
}

print_r($bankTotals);
로그인 후 복사

출력:

Array
(
    [Bank BRI] => 34534534
    [Bank BCA] => 1435773657
    [Bank CIMB Niaga] => 1338303418
    [Bank BNI] => 124124
    [Bank Mandiri] => 0
    [Bank Permata] => 352352353
)
로그인 후 복사

위 내용은 PHP에서 배열 데이터를 열별로 그룹화하고 합산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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