2D 배열 행 데이터를 열별로 그룹화하고 다른 열 합산
테이블 형식 데이터를 분석할 때 공유된 데이터를 기반으로 행을 통합해야 하는 경우가 많습니다. 다른 열에 대한 계산을 수행하는 동안 특정 열의 값 2D 배열 행을 그룹화하고 다른 열의 값을 합산하는 과제에 도전해 보세요.
문제 설명:
각 행이 데이터 항목을 나타내는 2D 배열이 제공됩니다. . 목표는 지정된 그룹화 열(예: 'dd')을 기준으로 이러한 행을 그룹화하고 각 그룹 내 다른 열(예: '수량')의 값을 합하는 것입니다. 결과는 고유한 그룹화 값과 해당 합산된 열 값이 있는 축소된 2D 배열이어야 합니다.
예:
Input: [ ['quantity' => 5, 'dd' => '01-Nov-2012'], ['quantity' => 10, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 4, 'dd' => '03-Nov-2012'], ['quantity' => 15, 'dd' => '03-Nov-2012'], ]; Desired result: [ ['quantity' => 15, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 19, 'dd' => '03-Nov-2012'], ];
해결책:
이 문제를 해결하려면 다음을 따르세요. 단계:
다음은 PHP의 구현 예:
$in = array(array()); // your input $out = array(); foreach ($in as $row) { if (!isset($out[$row['dd']])) { $out[$row['dd']] = array( 'dd' => $row['dd'], 'quantity' => 0, ); } $out[$row['dd']]['quantity'] += $row['quantity']; } $out = array_values($out); // make the out array numerically indexed var_dump($out);
이 솔루션은 지정된 열을 기준으로 행을 효율적으로 그룹화하고 각 그룹을 선택하여 원하는 결과로 축소된 2D 배열을 생성합니다.
위 내용은 2D 배열의 행을 열별로 그룹화하고 다른 열을 합산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!