Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengeluarkan Elemen Kosong secara Berkesan daripada Tatasusunan PHP?

Bagaimana untuk Mengeluarkan Elemen Kosong secara Berkesan daripada Tatasusunan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 01:11:11616semak imbas

How to Effectively Remove Empty Elements from a PHP Array?

Cara Membuang Elemen Tatasusunan Kosong

Kod anda untuk mengalih keluar elemen kosong daripada tatasusunan $linksArray tidak berfungsi seperti yang dimaksudkan. Ini kerana unset($link) hanya mengalih keluar rujukan kepada pembolehubah $link, bukan elemen itu sendiri daripada tatasusunan.

Fungsi kosong() juga tidak akan berfungsi kerana ia menyemak sama ada pembolehubah kosong , bukan elemen tatasusunan.

Untuk mengalih keluar elemen kosong daripada tatasusunan, anda boleh menggunakan fungsi array_filter(). array_filter() mengambil tatasusunan dan fungsi panggil balik sebagai argumen. Fungsi panggil balik digunakan pada setiap elemen tatasusunan dan elemen itu dialih keluar daripada tatasusunan jika fungsi panggil balik kembali palsu.

Dalam kes anda, anda boleh menggunakan kod berikut untuk mengalih keluar elemen kosong daripada $linksArray :

$linksArray = array_filter($linksArray);

Walau bagaimanapun, jika anda perlu mengekalkan elemen yang rentetan tepat '0', anda memerlukan tersuai panggil balik:

// PHP 7.4 and later
print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== ''));

// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));

// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));

Nota: Jika anda perlu mengindeks semula tatasusunan selepas mengalih keluar elemen kosong, gunakan:

$linksArray = array_values(array_filter($linksArray));

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Elemen Kosong secara Berkesan daripada Tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn