다차원 배열 데이터를 두 열로 그룹화하고 각 그룹의 값을 합산
두 개의 개별 데이터베이스 쿼리 결과를 결합하여 생성된 배열을 생각해 보세요. 다음과 유사합니다.
$arr1 = [ ['part' => '1', 'address' => 'aaa', 'type' => '1', 'count' => 5], ['part' => '1', 'address' => 'bbb', 'type' => '1', 'count' => 5], ['part' => '1', 'address' => 'ccc', 'type' => '1', 'count' => 5], ['part' => '2', 'address' => 'aaa', 'type' => '1', 'count' => 5], ['part' => '2', 'address' => 'bbb', 'type' => '1', 'count' => 5], ['part' => '2', 'address' => 'ccc', 'type' => '2', 'count' => 5] ];
목표는 이 배열을 'part' 및 'type' 열로 그룹화하고 각 그룹의 'count' 값 합계를 계산하는 것입니다.
수행하려면 이를 위해 다음 함수를 활용할 수 있습니다.
<code class="php">function groupByPartAndType($input) { $output = Array(); foreach($input as $value) { $output_element = &$output[$value['part'] . "_" . $value['type']]; $output_element['part'] = $value['part']; $output_element['type'] = $value['type']; !isset($output_element['count']) && $output_element['count'] = 0; $output_element['count'] += $value['count']; } return array_values($output); }</code>
이 함수는 입력 배열을 반복하고 'part' 및 'type' 값의 조합으로 입력된 요소로 출력 배열을 채웁니다. 각 출력 요소에 대해 'part', 'type' 및 'count' 필드를 적절하게 설정하여 'count' 필드가 아직 설정되지 않은 경우 0으로 초기화되도록 합니다. 이 함수는 출력 배열에서 값의 배열을 반환합니다.
이 함수를 $arr1에 적용하면 원하는 결과를 얻을 수 있습니다.
$arr2 = [ ['part' => '1', 'type' => '1', 'count' => 15], ['part' => '2', 'type' => '1', 'count' => 10], ['part' => '2', 'type' => '2', 'count' => 5] ];
위 내용은 두 개의 열과 각 그룹의 합계 값으로 다차원 배열을 어떻게 그룹화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!