Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membuang null dalam array dalam php

Bagaimana untuk membuang null dalam array dalam php

PHPz
PHPzasal
2023-04-25 09:09:39574semak imbas

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);

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
)

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);   //输出新数组

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);    //输出新数组

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!

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