Dalam PHP, tatasusunan ialah jenis data yang sangat berguna yang boleh digunakan untuk menyimpan set data tersusun. Terdapat banyak cara untuk menggunakan tatasusunan PHP, seperti menambah, memadam, mengubah suai, melintasi, dll. Walau bagaimanapun, dalam pengaturcaraan sebenar, kita sering menghadapi situasi di mana kita perlu memadam rentetan tertentu daripada tatasusunan. Artikel ini akan menunjukkan kepada anda cara memadam rentetan dengan cepat dan cekap daripada tatasusunan menggunakan beberapa fungsi dalam PHP.
Kita boleh menggunakan fungsi array_filter() PHP untuk menapis elemen dalam tatasusunan, yang boleh menerima fungsi panggil balik (panggilan balik) sebagai The parameter kedua. Nilai Boolean mesti dikembalikan dalam fungsi panggil balik ini Jika benar dikembalikan, elemen itu dikekalkan, jika tidak ia ditapis.
Berikut ialah contoh yang menunjukkan cara menggunakan fungsi array_filter() untuk memadam rentetan dalam tatasusunan:
$arr = array('dog', 'cat', 'fish', 'bird'); $remove = 'fish'; $arr = array_filter($arr, function($value) use ($remove) { return $value !== $remove; }); print_r($arr);
Hasil output ialah:
Array ( [0] => dog [1] => cat [3] => bird )
Dalam contoh ini, kami mentakrifkan tatasusunan $arr
, yang mengandungi beberapa rentetan. Seterusnya, kami mentakrifkan rentetan $remove
yang perlu dipadamkan. Kami menggunakan fungsi array_filter() untuk menapis tatasusunan $arr
dan menggunakan fungsi tanpa nama sebagai fungsi panggil balik untuk melaksanakan syarat penapisan unsur. Dalam fungsi tanpa nama ini, kami menggunakan kata kunci use
untuk menghantar pembolehubah $remove
ke dalam fungsi panggil balik, dan kemudian gunakan operator !==
untuk membandingkan elemen tatasusunan dan $remove
, dan kembalikan benar jika ia tidak sama. , jika tidak pulangkan palsu . Akhir sekali, kami menggantikan tatasusunan asal dengan tatasusunan diubah suai $arr
.
Kami juga boleh menggunakan fungsi array_diff() PHP untuk memadamkan elemen tertentu dalam tatasusunan. Fungsi ini boleh menerima dua atau lebih tatasusunan sebagai parameter, dan nilai yang dikembalikan ialah tatasusunan baharu yang mengandungi elemen perbezaan dalam dua tatasusunan.
Berikut ialah contoh yang menunjukkan cara menggunakan fungsi array_diff() untuk memadam elemen dalam tatasusunan:
$arr = array('dog', 'cat', 'fish', 'bird'); $remove = array('fish'); $arr = array_diff($arr, $remove); print_r($arr);
Outputnya ialah:
Array ( [0] => dog [1] => cat [3] => bird )
Dalam contoh ini, kami mentakrifkan tatasusunan $arr
, yang mengandungi beberapa rentetan. Kemudian kami mentakrifkan tatasusunan $remove
untuk menyimpan elemen yang perlu dipadamkan. Akhir sekali, kami menggunakan fungsi array_diff() untuk membandingkan dua tatasusunan $arr
dan $remove
dan mengembalikan tatasusunan baharu elemen berbeza. Akhirnya, tatasusunan baharu menggantikan tatasusunan asal, dan elemen yang dipadamkan tidak akan muncul dalam tatasusunan baharu.
Selain menggunakan fungsi PHP sendiri, kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan dan menentukan sama ada elemen sama dengan rentetan yang ditentukan untuk memadam elemen ini.
Berikut ialah contoh yang menunjukkan cara menggunakan gelung foreach untuk memadam elemen dalam tatasusunan:
$arr = array('dog', 'cat', 'fish', 'bird'); $remove = 'fish'; foreach ($arr as $key => $value) { if ($value === $remove) { unset($arr[$key]); } } print_r($arr);
Hasil output ialah:
Array ( [0] => dog [1] => cat [3] => bird )
Dalam contoh ini, kami Tatasusunan $arr
yang mengandungi beberapa rentetan masih ditakrifkan. Seterusnya, kami mentakrifkan elemen $remove
yang perlu dipadamkan. Kami kemudian gelung melalui tatasusunan $arr
menggunakan foreach dan semak sama ada setiap elemen adalah sama dengan $remove
dan jika ya, alih keluar elemen menggunakan fungsi unset()
. Akhirnya, kami mengeluarkan tatasusunan yang diubah suai.
Akhir sekali, kita juga boleh menggunakan fungsi array_map() PHP untuk menggunakan fungsi panggil balik pada setiap elemen tatasusunan. Fungsi panggil balik mesti mengembalikan nilai yang diubah suai dan pada akhirnya tatasusunan baharu.
Berikut ialah contoh yang menunjukkan cara menggunakan fungsi array_map() untuk memadam elemen dalam tatasusunan:
$arr = array('dog', 'cat', 'fish', 'bird'); $remove = 'fish'; $arr = array_map(function($value) use ($remove) { return $value === $remove ? null : $value; }, $arr); $arr = array_filter($arr); print_r($arr);
Hasil output ialah:
Array ( [0] => dog [1] => cat [3] => bird )
Dalam contoh ini, kami menggunakan fungsi array_map() sebagai cara untuk memadam elemen daripada tatasusunan. Mula-mula, kami mentakrifkan tatasusunan $arr
, yang mengandungi beberapa rentetan. Seterusnya, kami mentakrifkan elemen $remove
yang perlu dipadamkan. Dalam fungsi array_map(), kami menggunakan fungsi tanpa nama untuk mentakrifkan keadaan penapis elemen dan mengembalikan null jika elemen itu sama dengan $remove
, jika tidak, kembalikan nilai asal. Akhir sekali, kami menggunakan fungsi array_filter() untuk menapis nilai nol dalam tatasusunan, menghasilkan tatasusunan baharu dengan elemen yang ditentukan dialih keluar.
Ringkasan
Artikel ini memperkenalkan empat kaedah untuk memadamkan elemen tertentu dalam tatasusunan dalam PHP: menggunakan fungsi array_filter(), menggunakan fungsi array_diff(), menggunakan gelung foreach dan menggunakan fungsi array_map() . Tidak kira kaedah yang anda gunakan, anda boleh memadamkan elemen dengan cepat dan cekap daripada tatasusunan. Dalam pengaturcaraan sebenar, memilih penyelesaian yang berbeza untuk memadam elemen tatasusunan mengikut keperluan boleh meningkatkan kecekapan dan kebolehbacaan kod.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar rentetan yang ditentukan dari tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!