Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membuang nilai nol dari tatasusunan dalam php

Bagaimana untuk membuang nilai nol dari tatasusunan dalam php

PHPz
PHPzasal
2023-04-23 09:13:122228semak imbas

Dalam pembangunan PHP, selalunya diperlukan untuk beroperasi pada tatasusunan, dan mengalih keluar nilai nol ​​​​dari tatasusunan ialah salah satu operasi yang paling biasa. Situasi yang paling biasa ialah apabila mendapatkan data daripada borang, sesetengah data mungkin dibiarkan kosong oleh pengguna, tetapi dalam pemprosesan seterusnya, nilai kosong ini akan menjejaskan operasi biasa program. Oleh itu, kita perlu mengalih keluar nilai nol ini.

Artikel ini akan memperkenalkan beberapa kaedah untuk mengalih keluar nilai nol daripada tatasusunan dalam PHP.

Kaedah 1: Gunakan fungsi array_filter()

array_filter() ialah fungsi terbina dalam PHP yang boleh menapis elemen dalam tatasusunan. Kita boleh menghantar fungsi panggil balik sebagai parameter, dan fungsi panggil balik mengembalikan nilai Boolean Apabila ia benar, elemen itu dikekalkan, apabila ia palsu, elemen itu dipadamkan. Jika tiada fungsi panggil balik diluluskan, semua nilai null, 0, false dan null dalam tatasusunan akan dipadamkan.

Kod sampel adalah seperti berikut:

$arr = array('a', '', 'b', null, 'c', ' ', 'd', false);
$arr = array_filter($arr, 'strlen');
print_r($arr);

Hasil output adalah seperti berikut:

Array
(
    [0] => a
    [2] => b
    [4] => c
    [6] => d
)

Dalam kod di atas, kami menggunakan fungsi strlen sebagai fungsi panggil balik, yang mengembalikan aksara Panjang rentetan, palsu jika panjang rentetan ialah 0. Oleh itu, semua elemen dengan panjang bukan sifar dikekalkan.

Kaedah 2: Gunakan gelung foreach

Kaedah biasa lain untuk mengalih keluar nilai nol daripada tatasusunan ialah menggunakan gelung foreach untuk melintasi tatasusunan dan memadamkan nilai nol. Kod sampel adalah seperti berikut:

$arr = array('a', '', 'b', null, 'c', ' ', 'd', false);

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

print_r($arr);

Hasil output adalah sama dengan kaedah satu:

Array
(
    [0] => a
    [2] => b
    [4] => c
    [6] => d
)

Dalam kod di atas, kami menggunakan fungsi empty() untuk menentukan sama ada elemen itu kosong jika ia kosong, Kemudian gunakan fungsi unset() untuk memadamkan elemen tersebut.

Kaedah 3: Gunakan fungsi array_diff()

Terdapat juga kaedah untuk menggunakan fungsi array_diff() untuk mengalih keluar nilai nol dalam tatasusunan. Fungsi array_diff() ialah fungsi terbina dalam PHP yang digunakan untuk mengira perbezaan tatasusunan. Apabila kita mengira nilai nol tatasusunan sebagai "set perbezaan" dengan tatasusunan kosong yang lain, kita boleh mendapatkan tatasusunan asal selepas mengalih keluar nilai nol.

Kod sampel adalah seperti berikut:

$arr = array('a', '', 'b', null, 'c', ' ', 'd', false);
$arr = array_diff($arr, array(''));

print_r($arr);

Hasil output adalah sama seperti dua kaedah di atas:

Array
(
    [0] => a
    [2] => b
    [4] => c
    [6] => d
)

Dalam kod di atas, kami menggunakan tatasusunan kosong sebagai parameter , tatasusunan kosong ini tidak mempunyai unsur, jadi set perbezaannya adalah hasil tatasusunan asal tolak nilai nol.

Ringkasan

Artikel ini memperkenalkan tiga kaedah untuk mengalih keluar nilai kosong ​​​​dari tatasusunan dalam PHP: menggunakan fungsi array_filter(), menggunakan gelung foreach dan menggunakan fungsi array_diff() . Kaedah ini boleh mengalih keluar nilai nol dalam tatasusunan dengan berkesan dan menjadikan program lebih stabil. Dalam perkembangan sebenar, kita boleh memilih kaedah yang sesuai dengan kita mengikut keperluan tertentu.

Atas ialah kandungan terperinci Bagaimana untuk membuang nilai nol dari tatasusunan dalam 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