Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam tatasusunan kosong dalam php
Dalam bahasa PHP, memadam tatasusunan kosong ialah operasi biasa. Apabila kami menggunakan tatasusunan sebagai struktur data, kadangkala kami mungkin perlu memadam tatasusunan kosong di dalamnya untuk penggunaan dan analisis data yang lebih baik.
Dalam yang berikut, kami akan memperkenalkan cara memadam tatasusunan kosong menggunakan bahasa PHP.
Kaedah 1: Gunakan gelung foreach
Gunakan gelung foreach untuk merentasi tatasusunan, cari kekunci semua tatasusunan kosong dan kemudian gunakan fungsi tidak ditetapkan untuk memadamnya. Kodnya adalah seperti berikut:
$array = array(1, 2, array(), 4, array()); foreach ($array as $key => $value) { if (empty($value)) { unset($array[$key]); } }
Dalam contoh ini, kami mentakrifkan tatasusunan yang mengandungi integer dan tatasusunan kosong. Kemudian kami menggunakan gelung foreach untuk lelaran melalui tatasusunan. Jika nilai semasa dalam tatasusunan kosong, ia dikeluarkan bersama-sama dengan kunci menggunakan fungsi tidak ditetapkan.
Nota: Kaedah ini boleh menyebabkan penyusunan semula indeks, jadi tidak disyorkan untuk menggunakan kaedah ini untuk memadam tatasusunan bukan kosong.
Kaedah 2: Gunakan fungsi array_filter
Gunakan fungsi array_filter, yang akan mengembalikan tatasusunan baharu yang mengandungi semua elemen yang tidak kosong dalam tatasusunan sumber. Kodnya adalah seperti berikut:
$array = array(1, 2, array(), 4, array()); $array = array_filter($array, function($value) { return !empty($value); });
Dalam contoh ini, kami mentakrifkan tatasusunan yang mengandungi integer dan tatasusunan kosong. Kami kemudian menggunakan fungsi array_filter untuk menapis semua tatasusunan kosong dan menyimpan hasil kembali ke dalam tatasusunan asal.
Kaedah ini disyorkan kerana ia mengekalkan kunci dan nilai tatasusunan asal dan tidak menyebabkan penyusunan semula.
Kaedah 3: Gunakan fungsi array_diff
Gunakan fungsi array_diff, yang boleh membandingkan dua atau lebih tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi segala-galanya dalam tatasusunan pertama tetapi tidak dalam nilai tatasusunan lain. Kodnya adalah seperti berikut:
$array = array(1, 2, array(), 4, array()); $array = array_diff($array, array(array()));
Dalam contoh ini, kami mentakrifkan tatasusunan yang mengandungi integer dan tatasusunan kosong. Kami kemudian menggunakan fungsi array_diff untuk membandingkan semua tatasusunan kosong dengan tatasusunan yang mengandungi tatasusunan kosong dan mengembalikan tatasusunan baharu yang tidak mengandungi tatasusunan kosong.
Kaedah ini juga disyorkan kerana ia mengekalkan kunci dan nilai tatasusunan asal dan tidak menyebabkan penyusunan semula.
Ringkasan
Kaedah di atas menyediakan pelbagai cara untuk memadam tatasusunan kosong, anda boleh memilih salah satu daripadanya mengikut keperluan anda. Tidak kira kaedah yang digunakan, berhati-hati harus diambil untuk tidak menggunakan fungsi yang tidak selamat untuk mengendalikan tatasusunan bagi memastikan keselamatan dan kebolehpercayaan kod.
Atas ialah kandungan terperinci Bagaimana untuk memadam tatasusunan kosong dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!