Apabila menulis kod PHP, kadangkala anda perlu memproses elemen dalam tatasusunan. Satu situasi yang mungkin anda hadapi ialah apabila anda perlu mengalih keluar beberapa elemen daripada tatasusunan. Terdapat banyak cara untuk memadamkan satu atau beberapa elemen, dan kami akan membincangkan sebahagian daripadanya.
Pertama, kita perlu menentukan tatasusunan dengan beberapa elemen. Dalam artikel ini, kami akan menggunakan tatasusunan contoh berikut:
$animals = array('dog', 'cat', 'bird', 'fish', 'lion', 'tiger', 'elephant', 'monkey');
Tatasusunan ini mengandungi 8 nama haiwan dan kami akan menunjukkan cara untuk memadamkan tiga elemennya dalam artikel ini.
Kaedah 1: Gunakan fungsi unset() untuk memadamkan elemen
Cara paling asas untuk memadamkan elemen tatasusunan ialah menggunakan fungsi unset() terbina dalam PHP. Fungsi ini akan memadamkan elemen dengan kunci yang ditentukan dalam tatasusunan. Berikut ialah kod sampel yang menggunakan fungsi unset() untuk memadam tiga elemen daripada tatasusunan:
unset($animals[2]); //删除数组中索引为2的元素,也就是'bird' unset($animals[4]); //删除数组中索引为4的元素,也就是'lion' unset($animals[6]); //删除数组中索引为6的元素,也就是'elephant'
Selepas memanggil fungsi unset(), elemen itu akan dipadamkan sepenuhnya daripada tatasusunan dan nilai indeks elemen lain akan diperbaharui. Seperti dalam kod di atas, selepas memanggil unset($animals[2]), elemen 'bird' pada indeks 2 tatasusunan dipadamkan dan nilai indeks elemen lain dikemas kini, jadi $array[3] ialah sekarang 'ikan'.
Kaedah 2: Gunakan fungsi array_splice() untuk memadamkan elemen
Cara lain untuk memadamkan elemen daripada tatasusunan PHP ialah menggunakan fungsi array_splice() terbina dalam. Fungsi ini mengalih keluar elemen tertentu daripada tatasusunan dan menggerakkan nilai indeks elemen yang tinggal untuk mengekalkan kesinambungan. Berikut ialah kod sampel untuk mengalih keluar tiga elemen daripada tatasusunan menggunakan fungsi array_splice():
array_splice($animals, 2, 1); //'bird'从索引2出删除1个元素 array_splice($animals, 4, 1); //'lion'从索引4出删除1个元素 array_splice($animals, 6, 1); //'elephant'从索引6出删除1个元素
Parameter pertama tatasusunan ialah tatasusunan yang mana elemen perlu dialih keluar. Parameter kedua ialah kedudukan sebenar elemen yang akan dipadamkan. Parameter ketiga ialah bilangan elemen yang akan dipadamkan. Oleh itu, selepas array_splice($animals,2,1) dilaksanakan, 'burung' pada indeks 2 tatasusunan dipadamkan dan indeks elemen lain tatasusunan akan dialihkan untuk mengekalkan kesinambungan.
Kaedah 3: Gunakan fungsi array_diff()
Kaedah terakhir ialah menggunakan fungsi array_diff() terbina dalam PHP dan fungsi array_merge(). Berikut ialah kod sampel yang menggunakan fungsi array_diff() untuk memadam tiga elemen daripada tatasusunan:
$to_delete = array('bird', 'lion', 'elephant');//需要删除的元素放到一个新数组中 $animals = array_merge(array_diff($animals, $to_delete));//使用array_diff()筛选出不需要删除的元素,再使用array_merge()合并数组
Proses kaedah ini kelihatan lebih rumit, tetapi sebenarnya ia hanya mencipta tatasusunan baharu dengan elemen yang perlu dipadamkan, dan gunakan fungsi array_diff() untuk menapis elemen yang tidak perlu dipadamkan. Akhir sekali, gunakan fungsi array_merge() untuk menggabungkan tatasusunan selepas operasi padam.
Ringkasan
Terdapat banyak cara untuk mengekstrak elemen tertentu daripada tatasusunan dalam PHP Kami telah memperkenalkan tiga daripadanya: menggunakan fungsi unset(), menggunakan fungsi array_splice() dan menggunakan. array_diff() fungsi. Kita perlu memilih kaedah yang berbeza mengikut situasi tertentu.
Jika kita hanya perlu memadamkan satu atau beberapa elemen dalam tatasusunan, kita boleh menggunakan fungsi unset() atau fungsi array_splice().
Jika kita perlu memadamkan berbilang elemen atau memadamkan elemen mengikut syarat tertentu, kita boleh menggunakan fungsi array_filter() atau gabungan fungsi array_diff() dan fungsi array_merge().
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar tiga elemen dari tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!