Rumah > pembangunan bahagian belakang > masalah PHP > php mengeluarkan nilai nol dari tatasusunan

php mengeluarkan nilai nol dari tatasusunan

PHPz
Lepaskan: 2023-05-19 11:18:37
asal
2806 orang telah melayarinya

Semasa proses pembangunan PHP, kami sering menghadapi situasi di mana kami perlu memproses tatasusunan. Apabila memproses tatasusunan, keperluan yang sangat biasa ialah mengalih keluar nilai nol dalam tatasusunan. Jadi, bagaimana untuk mengalih keluar nilai nol dalam tatasusunan dalam PHP? Artikel ini akan memperkenalkan tiga kaedah untuk mengalih keluar nilai nol dalam tatasusunan.

Kaedah 1: Gunakan gelung untuk melintasi tatasusunan

Gelung melalui tatasusunan ialah salah satu kaedah paling biasa memproses tatasusunan. Kita boleh menggunakan gelung foreach untuk merentasi tatasusunan, dan kemudian menggunakan penyataan bersyarat untuk menentukan sama ada setiap elemen dalam tatasusunan adalah nilai nol Jika ia adalah nilai nol, gunakan fungsi tidak ditetapkan untuk memadamkannya. Langkah-langkah khusus adalah seperti berikut:

// 原始数组
$arr = array('foo', '', 'bar', ' ', null, 'baz');

// 遍历数组并删除空值
foreach ($arr as $key => $value) {
    if ($value === '' || $value === ' ' || $value === null) {
        unset($arr[$key]);
    }
}

// 输出处理后的数组
print_r($arr);
Salin selepas log masuk

Jalankan kod di atas dan hasil output adalah seperti berikut:

Array
(
    [0] => foo
    [2] => bar
    [5] => baz
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan fungsi array_filter untuk menapis tatasusunan

PHP menyediakan fungsi yang dipanggil array_filter Boleh digunakan untuk menapis nilai dalam tatasusunan. Fungsi ini akan menghantar setiap elemen dalam tatasusunan kepada fungsi panggil balik untuk pertimbangan Jika elemen memenuhi syarat, ia akan kembali benar, jika tidak ia akan mengembalikan palsu. Akhirnya, fungsi mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang memenuhi kriteria.

Kita boleh menggunakan fungsi tanpa nama sebagai fungsi panggil balik dan kemudian menghantar tatasusunan sebagai parameter kepada fungsi array_filter. Langkah-langkah khusus adalah seperti berikut:

// 原始数组
$arr = array('foo', '', 'bar', ' ', null, 'baz');

// 过滤数组中的空值
$new_arr = array_filter($arr, function($value) {
    return ($value !== '' && $value !== ' ' && $value !== null);
});

// 输出处理后的数组
print_r($new_arr);
Salin selepas log masuk

Jalankan kod di atas, hasil output adalah seperti berikut:

Array
(
    [0] => foo
    [2] => bar
    [5] => baz
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 3: Gunakan fungsi array_diff untuk mencari set perbezaan

PHP menyediakan fungsi yang dipanggil array_diff , boleh digunakan untuk mencari perbezaan antara dua tatasusunan. Kita boleh mengambil perbezaan antara tatasusunan asal dan tatasusunan yang mengandungi hanya nilai nol, dan hasilnya ialah tatasusunan selepas mengalih keluar nilai nol. Langkah-langkah khusus adalah seperti berikut:

// 原始数组
$arr = array('foo', '', 'bar', ' ', null, 'baz');

// 以空值作为差集的基准求差集
$new_arr = array_diff($arr, array('', ' ', null));

// 输出处理后的数组
print_r($new_arr);
Salin selepas log masuk

Jalankan kod di atas dan hasil output adalah seperti berikut:

Array
(
    [0] => foo
    [2] => bar
    [5] => baz
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ringkasnya, kami telah memperkenalkan tiga kaedah untuk mengalih keluar nilai null ​​​​dalam Tatasusunan PHP, iaitu: menggunakan Array traversal gelung, gunakan fungsi array_filter untuk menapis tatasusunan, dan gunakan fungsi array_diff untuk mencari perbezaan. Dalam pembangunan sebenar, kaedah yang berbeza boleh dipilih mengikut keperluan tertentu.

Atas ialah kandungan terperinci php mengeluarkan nilai nol dari tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan