Dalam pengaturcaraan PHP, kami sering menghadapi situasi di mana nilai nol dalam tatasusunan perlu dialih keluar Keadaan ini mungkin berlaku dalam senario seperti pembersihan data dan penapisan data. Terdapat beberapa cara untuk mencapai ini dalam PHP, dan kami akan membincangkannya secara terperinci di bawah, bersama dengan kebaikan dan keburukan mereka.
Kaedah 1: Gunakan fungsi array_filter()
fungsi array_filter() boleh mengembalikan tatasusunan baharu, di mana elemen yang tidak memenuhi syarat fungsi tersuai ditapis keluar. Kita boleh membina fungsi tersuai untuk menentukan sama ada elemen adalah nol.
Kod sampel adalah seperti berikut:
$array = array("foo", "", "bar", null, "baz"); $new_array = array_filter($array, function($item) { return !empty($item); });
Dalam contoh ini, tatasusunan $array
mengandungi rentetan kosong, nilai nol dan elemen bukan kosong fungsi, kita mendapat Tatasusunan baharu yang tidak mengandungi nilai nol, iaitu array_filter()
. $new_array
akan mengalih keluar nilai berikut secara lalai: array_filter()
Fungsi ini mudah digunakan dan keadaan penapisan boleh disesuaikan. array_filter()
$array = array("foo", "", "bar", null, "baz"); foreach($array as $key => $value) { if(!$value) { unset($array[$key]); } }
Jika nilai elemen itu palsu, iaitu, ia dinilai menjadi nilai nol, kemudian gunakan $array
Fungsi mengalih keluar elemen. unset()
, kaedah ini mempunyai prestasi yang lebih baik untuk tatasusunan besar. array_filter()
Fungsi ini digunakan untuk mengira set perbezaan nilai tatasusunan. Kita boleh menggunakan ini untuk mengalih keluar nilai nol. array_diff()
$array = array("foo", "", "bar", null, "baz"); $new_array = array_diff($array, array("", null));
untuk mengira perbezaan antara tatasusunan array_diff()
dan tatasusunan yang mengandungi rentetan kosong dan nilai null, dengan itu Dapatkan tatasusunan baharu $array
. Kita dapat melihat bahawa kaedah ini boleh menapis berbilang nilai sekaligus. $new_array
Atas ialah kandungan terperinci Bagaimana untuk membuang nilai nol dari tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!