>  기사  >  백엔드 개발  >  PHP 다차원 배열 그룹 합계

PHP 다차원 배열 그룹 합계

PHPz
PHPz원래의
2023-05-07 11:52:10676검색

웹 애플리케이션의 지속적인 개발로 인해 데이터 처리 및 분석이 점점 더 중요해지고 있습니다. 다차원 배열의 사용은 웹 개발에서 일반적인 상황입니다. PHP의 다차원 배열의 경우 그룹 합계는 자주 필요한 작업입니다. 이 기사에서는 PHP에서 다차원 배열 그룹 합계를 구현하는 방법에 중점을 둘 것입니다.

먼저, 아래와 같이 제품 이름, 판매 날짜 및 판매가 포함된 다차원 배열이 있다고 가정하고 예를 살펴보겠습니다.

$sales = array(
      array("product" => "A", "date" => "2022-01-01", "sales" => 100),
      array("product" => "B", "date" => "2022-01-02", "sales" => 200),
    array("product" => "C", "date" => "2022-01-03", "sales" => 250),
    array("product" => "B", "date" => "2022-01-04", "sales" => 150),
    array("product" => "A", "date" => "2022-01-05", "sales" => 300),
    array("product" => "C", "date" => "2022-01-06", "sales" => 400),
);

제품 이름별로 판매량을 합산하고 싶으며 다음 코드를 사용하여 계산할 수 있습니다.

<?php

$sum = array();  // 定义存放结果的数组

foreach ($sales as $sale) {
    $product = $sale["product"];  // 获取产品名称
    $salesAmt = $sale["sales"];  // 获取销售额
   
    // 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素
    if (!array_key_exists($product, $sum)) {
        $sum[$product] = 0;
    }
    
    // 将销售额加入该产品名称对应的数组元素中
    $sum[$product] += $salesAmt;
}

print_r($sum);  // 输出结果

?>

위 코드의 출력은 다음과 같습니다.

Array
(
    [A] => 400
    [B] => 350
    [C] => 650
)

코드 구현 아이디어는 foreach 루프를 사용하여 다차원 배열의 각 배열 요소를 순회하여 제품 이름과 매출을 얻는 것입니다. 요소의 부피. 그런 다음 결과를 저장하는 배열에 해당 제품명이 이미 존재하는지 판단하여, 존재하지 않으면 해당 제품명을 키로 하여 배열 요소를 생성합니다. 마지막으로 제품명에 해당하는 배열 요소에 판매량을 추가합니다. 순회가 완료되면 각 상품명에 해당하는 총 판매량을 얻을 수 있습니다.

여러 조건에 따라 그룹화하고 합산할 수도 있습니다. 예를 들어 위의 예에서 제품명, 판매일자를 기준으로 그룹화하여 합산하고 싶다면 다음 코드를 통해 구현하면 됩니다.

<?php

$sum = array();  // 定义存放结果的数组

foreach ($sales as $sale) {
    $product = $sale["product"];  // 获取产品名称
    $date = $sale["date"];  // 获取销售日期
    $salesAmt = $sale["sales"];  // 获取销售额
   
    // 如果该产品名称不存在,则创建一个以该产品名称为键的数组元素
    if (!array_key_exists($product, $sum)) {
        $sum[$product] = array();
    }
    
    // 如果该销售日期不存在,则创建一个以该销售日期为键的数组元素
    if (!array_key_exists($date, $sum[$product])) {
        $sum[$product][$date] = 0;
    }
    
    // 将销售额加入该产品名称和销售日期对应的数组元素中
    $sum[$product][$date] += $salesAmt;
}

print_r($sum);  // 输出结果

?>

위 코드의 출력 결과는 다음과 같습니다.

Array
(
    [A] => Array
        (
            [2022-01-01] => 100
            [2022-01-05] => 300
        )

    [B] => Array
        (
            [2022-01-02] => 200
            [2022-01-04] => 150
        )

    [C] => Array
        (
            [2022-01-03] => 250
            [2022-01-06] => 400
        )

)

아이디어 코드 구현은 결과를 저장하는 배열에서 판매 날짜를 각 배열 요소의 키로 사용하여 배열이 생성된다는 점을 제외하면 이전 예제와 유사합니다. 이런 식으로 제품명, 판매일별로 쉽게 그룹화하고 합산할 수 있습니다.

요약하자면, PHP에서 다차원 배열의 그룹 합산은 일반적인 작업입니다. 구현 중에 foreach 루프를 사용하여 배열의 각 배열 요소를 순회하고 필요에 따라 새 배열 요소를 만들어 그룹 합계 기능을 달성할 수 있습니다. 물론 데이터 양이 많은 상황에서는 PHP의 array_reduce() 함수와 같은 고급 기능을 사용하여 해당 작업을 완료하고 코드의 실행 효율성과 실행 속도를 향상시킬 수도 있습니다.

위 내용은 PHP 다차원 배열 그룹 합계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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