Susun atur PHP ialah struktur data yang sangat berkuasa yang menjadikan storan data lebih mudah dan cekap. Dalam proses menulis program PHP, selalunya diperlukan untuk menapis tatasusunan dengan pelbagai syarat. Artikel ini akan memperkenalkan cara melaksanakan penapisan berbilang keadaan dalam tatasusunan PHP.
1. Fahami tatasusunan PHP
Sebelum menggunakan tatasusunan PHP, anda mesti memahami struktur asas dan kaedah takrifan tatasusunan PHP. Tatasusunan ialah struktur data ringkas yang boleh menyimpan berbilang nilai dalam satu pembolehubah. Dalam PHP, tatasusunan boleh ditakrifkan menggunakan dua kaedah berikut:
Menggunakan fungsi tatasusunan() untuk menentukan tatasusunan adalah sangat mudah , hanya perlu Hanya masukkan nilai dalam kurungan. Sebagai contoh, kod berikut mencipta tatasusunan dengan tiga elemen:
$my_array = array('apple', 'banana', 'orange');
Selepas PHP 5.4, anda boleh menggunakan tatatanda [] untuk menentukan tatasusunan. Contohnya:
$my_array = ['apple', 'banana', 'orange'];
Menggunakan dua kaedah di atas, anda boleh mencipta dan memulakan tatasusunan. Seterusnya, kita akan membincangkan cara menggunakan tatasusunan PHP untuk penapisan berbilang keadaan.
2. Laksanakan penapisan berbilang keadaan
Dalam pembangunan program PHP, elemen dalam tatasusunan perlu ditapis mengikut keadaan yang berbeza. Contohnya, susun tatasusunan markah pelajar mengikut mata pelajaran yang berbeza, keluarkan hanya markah lulus, dsb. Kaedah penapisan berbilang keadaan yang biasa digunakan diperkenalkan di bawah.
Menggunakan gelung foreach ialah kaedah penapisan berbilang keadaan yang paling asas. Gelung melalui elemen dalam tatasusunan dan penapis berdasarkan keadaan. Contohnya, penapis kod berikut berdasarkan subjek dan markah:
$scores = array( array('name' => 'Tom', 'subject' => 'Math', 'score' => 80), array('name' => 'Jerry', 'subject' => 'English', 'score' => 70), array('name' => 'Bob', 'subject' => 'Math', 'score' => 90), array('name' => 'Alice', 'subject' => 'English', 'score' => 60), ); foreach ($scores as $score) { if ($score['subject'] == 'Math' && $score['score'] >= 80) { echo $score['name'] . ' passed Math with score ' . $score['score'] . "<br />"; } }
Dalam contoh di atas, gelung foreach digunakan untuk melintasi tatasusunan bernama $scores dan mencetak elemen yang memenuhi kriteria.
Fungsi array_filter ialah fungsi yang sangat berkuasa dalam PHP, yang boleh menapis elemen dalam tatasusunan berdasarkan keadaan yang ditetapkan. Contohnya, kod berikut menggunakan fungsi array_filter untuk menapis subjek dan markah:
$scores = array( array('name' => 'Tom', 'subject' => 'Math', 'score' => 80), array('name' => 'Jerry', 'subject' => 'English', 'score' => 70), array('name' => 'Bob', 'subject' => 'Math', 'score' => 90), array('name' => 'Alice', 'subject' => 'English', 'score' => 60), ); $result = array_filter($scores, function($score) { return ($score['subject'] == 'Math' && $score['score'] >= 80); }); print_r($result);
Dalam contoh di atas, fungsi array_filter digunakan untuk menapis tatasusunan $scores dan mengembalikan elemen yang memenuhi syarat.
Fungsi array_reduce ialah satu lagi fungsi yang sangat berguna dalam PHP, yang boleh mengumpul atau mengira elemen dalam tatasusunan. Contohnya, kod berikut menggunakan fungsi array_reduce untuk menapis subjek dan markah, dan mengira jumlah markah:
$scores = array( array('name' => 'Tom', 'subject' => 'Math', 'score' => 80), array('name' => 'Jerry', 'subject' => 'English', 'score' => 70), array('name' => 'Bob', 'subject' => 'Math', 'score' => 90), array('name' => 'Alice', 'subject' => 'English', 'score' => 60), ); $result = array_reduce($scores, function($total, $score) { if ($score['subject'] == 'Math' && $score['score'] >= 80) { $total += $score['score']; } return $total; }, 0); echo $result;
Dalam contoh di atas, fungsi array_reduce digunakan untuk menapis tatasusunan $scores dan mengira elemen yang memenuhi syarat jumlah skor.
3. Ringkasan
Di atas memperkenalkan beberapa kaedah untuk melaksanakan penapisan berbilang keadaan dalam tatasusunan PHP, termasuk menggunakan gelung foreach, fungsi array_filter dan fungsi array_reduce. Mengikut senario aplikasi yang berbeza, memilih kaedah yang sesuai boleh menjadikan data pertanyaan lebih mudah dan lebih cekap. Sudah tentu, dalam proses pembangunan sebenar, kaedah lain juga boleh digabungkan untuk pemeriksaan berbilang keadaan untuk mencapai hasil yang lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penapisan berbilang keadaan dalam tatasusunan PHP (tiga kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!