>백엔드 개발 >PHP 문제 >PHP에서 배열 그룹을 합산하는 방법

PHP에서 배열 그룹을 합산하는 방법

PHPz
PHPz원래의
2023-04-27 09:03:05607검색

PHP 프로그래밍 언어에서는 배열 작업이 필요한 경우가 많습니다. 이러한 작업 중에서 배열의 그룹 합산은 특히 통계 분석, 데이터 처리 및 금융 응용 프로그램 시나리오에서 매우 일반적인 요구 사항입니다. 이 기사에서는 PHP를 사용하여 다음 배열을 그룹화하고 합산하는 방법을 소개합니다.

먼저, 제품 판매 기록을 포함하는 $aSalesRecord 배열이 있습니다. 각 요소는 제품 이름, 판매 가격, 판매 수량이라는 세 가지 필드를 포함하는 판매 기록의 배열입니다. 배열 구조는 다음과 같습니다:

$aSalesRecord = array(
array('제품_이름' => 'A', 'price' => 10, '수량' => 2),
array('제품_이름' = > 'B', '가격' => 5, '수량' => 3),
array('제품_이름' => 'A', '가격' => 15, '수량' => ; 1),
array('제품_이름' => 'C', '가격' => 20, '수량' => 2),
array('제품_이름' => 'A', '가격' = > 12, '수량' => 3),
array('제품_명' => 'B', '가격' => 6, '수량' => 1),
array('제품_명' = > 'C', '가격' => 18, '수량' => 4),
array('제품_이름' => 'D', '가격' => 25, '수량' => ; 2),
array('product_name' => 'E', 'price' => 30, 'Quantity' => 1),
);

이제 이 배열을 그룹화하고 합산해야 합니다. 즉, 상품명별로 그룹 매출을 기록하고, 각 그룹 내 매출 합계를 계산합니다. 이는 다음과 같은 방법으로 달성할 수 있습니다:

$groupedSales = array();
foreach ($aSalesRecord as $record) {
$productName = $record['product_name'];
$price = $record['price' ] ;
$Quantity = $record['수량'];
if (!isset($groupedSales[$productName])) {

$groupedSales[$productName] = array(
  'count' => 0,
  'total_price' => 0,
);

}
$groupedSales[$productName]['count'] += $Quantity;
$groupedSales[$productName]['total_price'] += $price * $Quantity;
}

위 코드에서는 먼저 빈 배열 $groupedSales를 정의하여 제품 이름별로 그룹화된 판매 기록을 저장합니다. 그런 다음 원래 판매 레코드 배열 $aSalesRecord를 탐색하여 각 판매 레코드에 대해 제품 이름, 판매 가격 및 판매 수량의 세 가지 필드를 가져와 제품 이름에 따라 그룹화합니다. $groupedSales 배열에 현재 제품명이 존재하지 않는 경우, 해당 키를 제품명으로 사용하여 새 배열 요소를 생성하고 총 판매량과 총 판매량을 0으로 초기화합니다. 그런 다음, 현재 판매 기록의 수량을 총 판매 수량에 더하고, 현재 판매 기록의 판매량을 총 판매 금액에 더합니다. 이렇게 모든 판매 기록을 순회한 후 $groupedSales 배열에는 제품명별로 그룹화된 판매 기록이 저장되며, 각 그룹의 총 판매 수량과 총 판매 금액 두 필드의 값도 포함됩니다.

위 코드의 정확성을 확인하기 위해 아래와 같이 var_dump() 함수를 사용하여 $groupedSales 배열의 내용을 인쇄할 수 있습니다.

var_dump($groupedSales)

위 코드를 실행한 후 , 다음 결과가 출력됩니다:

array(5) {
["A"]=>
array(2) {

["count"]=>
int(6)
["total_price"]=>
int(107)

}
["B"]=>
array(2) {

["count"]=>
int(4)
["total_price"]=>
int(24)

}
["C"] =>
array(2) {

["count"]=>
int(6)
["total_price"]=>
int(128)

}
["D"]=>
array(2) {

["count"]=>
int(2)
["total_price"]=>
int(50)

}
["E"]=>
array(2) {

["count"]=>
int(1)
["total_price"]=>
int(30)

}
}

위 출력에서 ​​볼 수 있듯이 $groupedSales 배열에는 제품 이름별로 그룹화된 판매 기록이 포함되어 있으며 판매 금액의 합계와 판매 합계도 계산됩니다. 각 그룹의 수량.

일반적으로 PHP에서 배열을 그룹화하고 합산하는 것은 매우 간단한 문제입니다. 원래 배열을 반복한 다음 필요에 따라 각 요소를 처리하고 해당 그룹에 할당하고 마지막으로 각 그룹에 있는 요소의 합을 계산하면 됩니다. . 좀 더 복잡한 그룹화 합계 연산의 경우 PHP의 다른 고급 데이터 유형(예: 해시 테이블, 트리 등)을 사용하여 구현할 수도 있습니다. 어느 쪽이든 PHP의 강력한 기능을 최대한 활용하여 프로그래밍 효율성과 코드 가독성을 향상시키는 것이 중요합니다.

위 내용은 PHP에서 배열 그룹을 합산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.