Dalam PHP, selalunya perlu untuk melintasi tatasusunan dan menapis nilai berguna. Walau bagaimanapun, kadangkala terdapat beberapa nilai nol yang tidak berguna dalam tatasusunan, dan mereka perlu dipadamkan untuk memastikan ketepatan tatasusunan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melintasi tatasusunan dan mengalih keluar nilai nol daripadanya.
Dalam PHP, cara paling mudah untuk melintasi tatasusunan ialah menggunakan gelung foreach. Struktur asas gelung foreach adalah seperti berikut:
foreach ($array as $value) { // 对value进行操作 }
Gelung ini akan menetapkan setiap elemen dalam tatasusunan $array kepada pembolehubah $value dan beroperasi pada $value dalam badan gelung. Walau bagaimanapun, kaedah traversal ini tidak akan memadamkan nilai nol dalam tatasusunan, dan kaedah lain perlu digunakan untuk penapisan.
PHP menyediakan fungsi array_filter, yang boleh memadamkan elemen yang tidak memenuhi syarat dalam tatasusunan. Penggunaan asasnya adalah seperti berikut:
$new_array = array_filter($array, 'callback');
Fungsi ini akan menghantar semua elemen dalam tatasusunan $array kepada panggilan balik fungsi panggil balik, dan kemudian mengembalikan tatasusunan baharu $new_array, yang hanya mengandungi elemen yang mana fungsi panggil balik kembali. nilai yang benar. Walau bagaimanapun, fungsi panggil balik adalah terlalu rumit.
Gunakan fungsi foreach dan unset$new_array = array_filter($array, function($value){ return !empty($value); });
Kod ini mula-mula menggunakan gelung foreach untuk merentasi setiap elemen dalam tatasusunan $array dan menggunakan pernyataan if untuk menentukan sama ada $value kosong. Jika ia kosong, gunakan fungsi unset untuk mengalih keluar elemen daripada tatasusunan $array.
Walaupun kaedah ini mudah dan mudah, menggunakan fungsi yang tidak ditetapkan semasa gelung boleh menyebabkan masalah prestasi dan tidak sesuai untuk tatasusunan besar.
Gunakan fungsi array_walkforeach($array as $key => $value) { if(empty($value)) { unset($array[$key]); } }
Kod ini mentakrifkan fungsi panggil balik removeEmpty, yang menggunakan kaedah hantaran rujukan untuk menghantar $value ke dalam fungsi, ia dinilai sama ada $value kosong kosong, unset digunakan untuk mengeluarkannya daripada tatasusunan. Akhir sekali, gunakan fungsi array_walk untuk menggunakan fungsi removeEmpty pada tatasusunan $array untuk mengalih keluar nilai nol di dalamnya.
RingkasanAtas ialah kandungan terperinci Bagaimana untuk menggelung melalui tatasusunan dan mengalih keluar nilai nol menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!