Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar nilai nol dari tatasusunan dalam php (tiga kaedah)
Dalam proses menggunakan bahasa PHP untuk operasi tatasusunan, kadangkala kita perlu mengalih keluar nilai nol daripada tatasusunan. Oleh kerana nilai nol akan memberi kesan pada beberapa operasi tatasusunan, dan dalam beberapa kes kami tidak mahu nilai nol memberi kesan negatif pada operasi tatasusunan, jadi ia menjadi sangat perlu untuk mengalih keluar nilai nol. Jadi seterusnya, mari kita lihat cara mengalih keluar nilai nol daripada tatasusunan dalam PHP.
1. Gunakan fungsi array_filter()
Untuk menapis nilai nol dari tatasusunan, perkara pertama yang terlintas di fikiran ialah menggunakan fungsi array_filter() PHP. Fungsi ini akan mengembalikan tatasusunan baharu yang tidak mengandungi elemen yang fungsi panggil balik dikembalikan palsu apabila memproses tatasusunan asal. Di sini, kita boleh menggunakan fungsi is_null() terbina dalam PHP untuk membuat pertimbangan dan menapis elemen dengan nilai nol.
Pelaksanaan khusus adalah seperti berikut:
$arr = array('aa', 0, null, '', false, true, null, 'bb'); $filteredArray = array_filter($arr, function($item) { return !is_null($item); });
Selepas melakukan ini, $filteredArray hanya akan mengandungi nilai bukan nol.
2. Gunakan gelung foreach untuk mengalih keluar nilai nol
Selain itu, kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan dan mengalih keluar nilai null.
Kod yang boleh dilaksanakan adalah seperti berikut:
foreach ($arr as $key => $value) { if(is_null($value)){ unset($arr[$key]); } }
Dengan cara ini, nilai nol dalam tatasusunan asal boleh dialih keluar. Sudah tentu, menggunakan fungsi unset() akan menyebabkan kekunci tatasusunan disusun semula Jika anda mahu kekunci tidak disusun semula, anda juga boleh menggunakan kod berikut:
foreach ($arr as $key => $value) { if(is_null($value)){ array_splice($arr, $key, 1); } }
3 fungsi array_diff()
Kaedah lain yang lebih mudah ialah menggunakan fungsi array_diff() untuk membuat perbezaan antara tatasusunan asal dan tatasusunan dengan hanya nilai nol, dengan itu mengalih keluar nilai nol.
Kod yang boleh dilaksanakan adalah seperti berikut:
$arr = array('aa', 0, null, '', false, true, null, 'bb'); $filteredArray = array_diff($arr, array(null));
Selepas melakukan ini, $filteredArray hanya akan mengandungi nilai bukan nol.
Ringkasan
Dalam pembangunan sebenar, anda perlu fleksibel memilih kaedah yang sesuai dengan anda mengikut situasi. Menggunakan fungsi array_filter() boleh menyelesaikan masalah dalam satu baris kod, tetapi jika terdapat terlalu banyak elemen tatasusunan, ia akan menggunakan sejumlah prestasi tertentu. Dari perspektif pertimbangan prestasi, adalah lebih sesuai untuk menggunakan gelung foreach atau fungsi array_diff().
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai nol dari tatasusunan dalam php (tiga kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!