Bagaimana untuk membuang null dalam array dalam php

PHPz
Lepaskan: 2023-04-25 10:19:02
asal
601 orang telah melayarinya

Dalam PHP, tatasusunan ialah jenis data yang sangat biasa, dan dalam kebanyakan kes kita perlu memproses tatasusunan. Walau bagaimanapun, dalam pembangunan sebenar, besar kemungkinan tatasusunan mengandungi nilai null, dan pada masa ini kita perlu mengalih keluar nilai null ini. Jadi, bagaimanakah kita mengalih keluar nilai nol daripada tatasusunan dalam PHP? Seterusnya, artikel ini akan memperkenalkan anda kepada beberapa kaedah yang biasa digunakan.

Kaedah 1: Gunakan fungsi array_filter()

fungsi array_filter() ialah fungsi PHP yang sangat biasa digunakan. Fungsinya adalah untuk menapis elemen dalam tatasusunan fungsi penapis yang anda tentukan sendiri dalam . Kita boleh menggunakannya dengan mudah untuk mengalih keluar nilai nol daripada tatasusunan. Berikut ialah kaedah pelaksanaan khusus:

$arr = array('apple', null, 'orange', null, 'banana');
$arr = array_filter($arr, function($v){return !is_null($v);});
print_r($arr);
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menentukan tatasusunan, kemudian gunakan fungsi array_filter() untuk menapis unsur-unsur yang memenuhi syarat dan menetapkan hasil yang diproses kepada tatasusunan awal. Akhirnya keluarkan tatasusunan yang diproses. Keputusan yang dijalankan adalah seperti berikut:

Array
(
    [0] => apple
    [2] => orange
    [4] => banana
)
Salin selepas log masuk

Seperti yang anda lihat, kami telah berjaya mengalih keluar nilai nol dalam tatasusunan.

Kaedah 2: Gunakan gelung foreach

Selain menggunakan fungsi array_filter(), kita juga boleh menggunakan gelung foreach untuk mengalih keluar nilai null ​​​​dalam tatasusunan. Kaedah pelaksanaan khusus adalah seperti berikut:

$arr = array('apple', null, 'orange', null, 'banana');
$newArr = array();   //定义一个新数组,存放除去null值的元素
foreach($arr as $value){
    if(!is_null($value)){    //判断是否是null值
        array_push($newArr, $value);   //将非null值插入新数组
    }
}
print_r($newArr);   //输出新数组
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrif tatasusunan awal, dan kemudian menentukan tatasusunan baharu untuk menyimpan elemen tidak termasuk nilai nol. Seterusnya, kami menggunakan gelung foreach untuk melelaran melalui setiap elemen dalam tatasusunan awal, dan apabila elemen itu bukan nilai nol, masukkannya ke dalam tatasusunan baharu. Akhirnya keluarkan tatasusunan yang diproses. Keputusan berjalan adalah sama seperti kaedah satu.

Kaedah 3: Gunakan fungsi array_diff()

Kaedah ketiga untuk mengalih keluar nilai null ​​​​dalam tatasusunan ialah menggunakan fungsi array_diff() Dengan mencari perbezaan antara an tatasusunan dan tatasusunan lain, anda boleh melaksanakan fungsi operasi set. Di sini kita boleh menjana tatasusunan baharu selepas mengalih keluar nol daripada tatasusunan asal, dan kemudian mengira perbezaan dengan tatasusunan asal untuk mendapatkan tatasusunan tolak nilai nol. Berikut ialah kaedah pelaksanaan khusus:

$arr = array('apple', null, 'orange', null, 'banana');
$newArr = array_diff($arr, array(null));   //生成新数组,并与原数组求差集
print_r($newArr);    //输出新数组
Salin selepas log masuk

Dalam kod di atas, kita mula-mula menentukan tatasusunan awal, dan kemudian gunakan fungsi array_diff() untuk membentuk tatasusunan baharu daripada unsur-unsur yang tidak mengandungi null nilai. Akhirnya keluarkan tatasusunan baru.

Ringkasan

Terdapat tiga cara untuk mengalih keluar nilai null ​​​​dalam tatasusunan dalam PHP: menggunakan fungsi array_filter(), menggunakan gelung foreach dan menggunakan fungsi array_diff(). Antaranya, menggunakan fungsi array_filter() dan gelung foreach adalah kaedah pelaksanaan yang agak biasa, manakala kaedah menggunakan fungsi array_diff() agak mudah. Dalam pembangunan khusus, kita boleh memilih kaedah yang sepadan mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk membuang null dalam array dalam php. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!