Mengumpul dan Menjumlahkan Data dalam Tatasusunan 2D
Dalam senario ini, anda menyasarkan untuk mengumpulkan baris tatasusunan 2D berdasarkan satu nilai lajur dan kemudian jumlahkan nilai lajur lain dalam setiap lajur kumpulan.
Data 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'], ];
Keputusan yang Diingini:
[ ['quantity' => 15, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 19, 'dd' => '03-Nov-2012'], ];
Pelaksanaan:
Untuk mencapai ini, ikuti ini langkah:
Untuk setiap baris:
Kod PHP berikut menunjukkan ini proses:
$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);
Pendekatan ini mengumpulkan data input dengan berkesan mengikut lajur 'dd' dan menjumlahkan nilai lajur 'kuantiti' untuk setiap kumpulan, menghasilkan output yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menghimpun dan Menjumlahkan Data dalam Tatasusunan 2D mengikut Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!