Memandangkan tatasusunan PHP yang mengandungi baris 2D dengan lajur tertentu, tugas biasa ialah mengumpulkan baris berdasarkan pada lajur tertentu dan agregat nilai dari lajur lain.
Sebagai contoh, pertimbangkan tatasusunan berikut:
<code class="php">[ ['url_id' => 2191238, 'time_spent' => 41], ['url_id' => 2191606, 'time_spent' => 215], ['url_id' => 2191606, 'time_spent' => 25] ]</code>
Matlamatnya adalah untuk mengira jumlah lajur "masa_dibelanjakan" untuk setiap nilai unik dalam lajur "url_id". Satu penyelesaian yang mungkin melibatkan penggunaan gelung untuk mengulangi tatasusunan:
<code class="php">$ts_by_url = array(); foreach($array as $data) { if(!array_key_exists($data['url_id'], $ts_by_url)) $ts_by_url[ $data['url_id'] ] = 0; $ts_by_url[ $data['url_id'] ] += $data['time_spent']; }</code>
Selepas memproses keseluruhan tatasusunan, tatasusunan $ts_by_url akan mengandungi jumlah "masa_dibelanjakan" untuk setiap "url_id" unik:
<code class="php">2191238 => 41 2191606 => 240 // == 215 + 25</code>
Pendekatan ini mengumpulkan baris secara berkesan mengikut "url_id" dan mengagregatkan nilai "time_spent". Ia memanfaatkan sifat tatasusunan bersekutu PHP untuk menyimpan dan mengemas kini nilai dengan cekap berdasarkan kekunci "url_id".
Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Baris Tatasusunan 2D mengikut Lajur Tunggal dan Mengagregatkan Lajur Lain dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!