Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nilai nol dari tatasusunan dalam php (tiga kaedah)

Bagaimana untuk mengalih keluar nilai nol dari tatasusunan dalam php (tiga kaedah)

PHPz
PHPzasal
2023-04-12 14:44:331882semak imbas

Dalam proses menggunakan bahasa PHP untuk operasi tatasusunan, kadangkala kita perlu mengalih keluar nilai nol daripada tatasusunan. Oleh kerana nilai nol akan memberi kesan pada beberapa operasi tatasusunan, dan dalam beberapa kes kami tidak mahu nilai nol memberi kesan negatif pada operasi tatasusunan, jadi ia menjadi sangat perlu untuk mengalih keluar nilai nol. Jadi seterusnya, mari kita lihat cara mengalih keluar nilai nol daripada tatasusunan dalam PHP.

1. Gunakan fungsi array_filter()

Untuk menapis nilai nol ​​​​dari tatasusunan, perkara pertama yang terlintas di fikiran ialah menggunakan fungsi array_filter() PHP. Fungsi ini akan mengembalikan tatasusunan baharu yang tidak mengandungi elemen yang fungsi panggil balik dikembalikan palsu apabila memproses tatasusunan asal. Di sini, kita boleh menggunakan fungsi is_null() terbina dalam PHP untuk membuat pertimbangan dan menapis elemen dengan nilai nol.

Pelaksanaan khusus adalah seperti berikut:

$arr = array('aa', 0, null, '', false, true, null, 'bb');
$filteredArray = array_filter($arr, function($item) {
    return !is_null($item);
});

Selepas melakukan ini, $filteredArray hanya akan mengandungi nilai bukan nol.

2. Gunakan gelung foreach untuk mengalih keluar nilai nol

Selain itu, kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan dan mengalih keluar nilai null.

Kod yang boleh dilaksanakan adalah seperti berikut:

foreach ($arr as $key => $value) {
    if(is_null($value)){
        unset($arr[$key]);
    }
}

Dengan cara ini, nilai nol dalam tatasusunan asal boleh dialih keluar. Sudah tentu, menggunakan fungsi unset() akan menyebabkan kekunci tatasusunan disusun semula Jika anda mahu kekunci tidak disusun semula, anda juga boleh menggunakan kod berikut:

foreach ($arr as $key => $value) {
    if(is_null($value)){
        array_splice($arr, $key, 1);
    }
}

3 fungsi array_diff()

Kaedah lain yang lebih mudah ialah menggunakan fungsi array_diff() untuk membuat perbezaan antara tatasusunan asal dan tatasusunan dengan hanya nilai nol, dengan itu mengalih keluar nilai nol.

Kod yang boleh dilaksanakan adalah seperti berikut:

$arr = array('aa', 0, null, '', false, true, null, 'bb');
$filteredArray = array_diff($arr, array(null));

Selepas melakukan ini, $filteredArray hanya akan mengandungi nilai bukan nol.

Ringkasan

Dalam pembangunan sebenar, anda perlu fleksibel memilih kaedah yang sesuai dengan anda mengikut situasi. Menggunakan fungsi array_filter() boleh menyelesaikan masalah dalam satu baris kod, tetapi jika terdapat terlalu banyak elemen tatasusunan, ia akan menggunakan sejumlah prestasi tertentu. Dari perspektif pertimbangan prestasi, adalah lebih sesuai untuk menggunakan gelung foreach atau fungsi array_diff().

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai nol dari tatasusunan dalam php (tiga kaedah). 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