對2D 陣列中的資料進行分組和求和
在此場景中,您的目標是根據特定的值對2D數組的行進行分組列的值,然後將每組中另一列的值加總。
輸入資料:
[ ['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'], ];
期望結果:
[ ['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);
這個方法有效地按「dd」列對輸入資料進行分組,並對每個群組的「quantity ”列值求和,產生所需的輸出。
以上是如何按列對二維數組中的資料進行分組和求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!