Semasa proses pembangunan PHP, kami sering menghadapi situasi di mana kami perlu memproses tatasusunan. Apabila memproses tatasusunan, keperluan yang sangat biasa ialah mengalih keluar nilai nol dalam tatasusunan. Jadi, bagaimana untuk mengalih keluar nilai nol dalam tatasusunan dalam PHP? Artikel ini akan memperkenalkan tiga kaedah untuk mengalih keluar nilai nol dalam tatasusunan.
Kaedah 1: Gunakan gelung untuk melintasi tatasusunan
Gelung melalui tatasusunan ialah salah satu kaedah paling biasa memproses tatasusunan. Kita boleh menggunakan gelung foreach untuk merentasi tatasusunan, dan kemudian menggunakan penyataan bersyarat untuk menentukan sama ada setiap elemen dalam tatasusunan adalah nilai nol Jika ia adalah nilai nol, gunakan fungsi tidak ditetapkan untuk memadamkannya. Langkah-langkah khusus adalah seperti berikut:
// 原始数组 $arr = array('foo', '', 'bar', ' ', null, 'baz'); // 遍历数组并删除空值 foreach ($arr as $key => $value) { if ($value === '' || $value === ' ' || $value === null) { unset($arr[$key]); } } // 输出处理后的数组 print_r($arr);
Jalankan kod di atas dan hasil output adalah seperti berikut:
Array ( [0] => foo [2] => bar [5] => baz )
Kaedah 2: Gunakan fungsi array_filter untuk menapis tatasusunan
PHP menyediakan fungsi yang dipanggil array_filter Boleh digunakan untuk menapis nilai dalam tatasusunan. Fungsi ini akan menghantar setiap elemen dalam tatasusunan kepada fungsi panggil balik untuk pertimbangan Jika elemen memenuhi syarat, ia akan kembali benar, jika tidak ia akan mengembalikan palsu. Akhirnya, fungsi mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang memenuhi kriteria.
Kita boleh menggunakan fungsi tanpa nama sebagai fungsi panggil balik dan kemudian menghantar tatasusunan sebagai parameter kepada fungsi array_filter. Langkah-langkah khusus adalah seperti berikut:
// 原始数组 $arr = array('foo', '', 'bar', ' ', null, 'baz'); // 过滤数组中的空值 $new_arr = array_filter($arr, function($value) { return ($value !== '' && $value !== ' ' && $value !== null); }); // 输出处理后的数组 print_r($new_arr);
Jalankan kod di atas, hasil output adalah seperti berikut:
Array ( [0] => foo [2] => bar [5] => baz )
Kaedah 3: Gunakan fungsi array_diff untuk mencari set perbezaan
PHP menyediakan fungsi yang dipanggil array_diff , boleh digunakan untuk mencari perbezaan antara dua tatasusunan. Kita boleh mengambil perbezaan antara tatasusunan asal dan tatasusunan yang mengandungi hanya nilai nol, dan hasilnya ialah tatasusunan selepas mengalih keluar nilai nol. Langkah-langkah khusus adalah seperti berikut:
// 原始数组 $arr = array('foo', '', 'bar', ' ', null, 'baz'); // 以空值作为差集的基准求差集 $new_arr = array_diff($arr, array('', ' ', null)); // 输出处理后的数组 print_r($new_arr);
Jalankan kod di atas dan hasil output adalah seperti berikut:
Array ( [0] => foo [2] => bar [5] => baz )
Ringkasnya, kami telah memperkenalkan tiga kaedah untuk mengalih keluar nilai null dalam Tatasusunan PHP, iaitu: menggunakan Array traversal gelung, gunakan fungsi array_filter untuk menapis tatasusunan, dan gunakan fungsi array_diff untuk mencari perbezaan. Dalam pembangunan sebenar, kaedah yang berbeza boleh dipilih mengikut keperluan tertentu.
Atas ialah kandungan terperinci php mengeluarkan nilai nol dari tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!