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

Bagaimana untuk memadam nilai nol dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-19 10:37:43
asal
760 orang telah melayarinya

PHP ialah bahasa skrip yang digunakan secara meluas yang digunakan secara meluas dalam bidang pembangunan web. Dalam pembangunan, kita sering perlu mengendalikan tatasusunan Apabila kita menemui tatasusunan yang mengandungi nilai nol, kita mungkin perlu memadamkannya. Artikel ini akan memperkenalkan cara memadam nilai nol dalam tatasusunan menggunakan PHP.

1. Lintas dan padam

Cara paling mudah ialah melintasi dan memadam nilai nol. Mula-mula kita mencipta tatasusunan yang mengandungi nilai nol.

$arr = array(1, 2, null, 4, null, 6);
print_r($arr);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [2] => 
    [3] => 4
    [4] => 
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk

Kita boleh melintasi tatasusunan melalui gelung foreach dan menggunakan unset() untuk memadamkan elemen yang mengandungi nilai nol.

foreach ($arr as $key => $value){
    if(is_null($value)){
        unset($arr[$key]);
    }
}
print_r($arr);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Gunakan fungsi unset() untuk memadam elemen dalam tatasusunan, dan fungsi is_null() digunakan untuk menentukan sama ada ia adalah nol, jadi anda boleh memadamkan elemen dalam tatasusunan dengan cepat.

2. Fungsi array_filter()

Kaedah lain ialah menggunakan fungsi terbina dalam PHP array_filter(). Fungsi ini menerima tatasusunan dan mengembalikan tatasusunan baharu Ia menapis nilai dalam tatasusunan asal melalui fungsi panggil balik yang ditentukan dan mengembalikan tatasusunan baharu. Jika fungsi panggil balik mengembalikan benar, elemen akan dikekalkan, dan jika ia mengembalikan palsu, elemen akan dipadamkan.

Oleh itu, kita boleh mencipta fungsi tanpa nama untuk menentukan sama ada elemen itu batal dan menggunakan fungsi array_filter() untuk menapis.

$arr = array(1, 2, null, 4, null, 6);
$new_arr = array_filter($arr, function($value){
    return $value !== null;
});
print_r($new_arr);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

3 fungsi array_diff()

Anda juga boleh menggunakan fungsi array_diff() untuk melaksanakan operasi perbezaan tatasusunan dan menukar null. nilai ke dalam Elemen dialih keluar daripada tatasusunan asal. Kaedah ini memerlukan operasi perbezaan antara tatasusunan asal dan tatasusunan yang hanya mengandungi nilai nol, dan hasilnya ialah tatasusunan baharu yang tidak mengandungi nilai nol.

$arr = array(1, 2, null, 4, null, 6);
$null_arr = array(null);
$new_arr = array_diff($arr, $null_arr);
print_r($new_arr);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

4. fungsi array_map()

Akhir sekali, kita boleh menggunakan fungsi array_map() untuk menapis nilai nol tatasusunan. Fungsi ini menerima tatasusunan dan mengembalikan tatasusunan baharu Ia memproses nilai dalam tatasusunan asal melalui fungsi panggil balik yang ditentukan dan mengembalikan tatasusunan baharu.

Gunakan fungsi array_map() untuk menukar nilai nol kepada sebarang nilai dan kemudian menapisnya. Di sini kita menukar nilai nol kepada rentetan kosong dan kemudian menapisnya.

$arr = array(1, 2, null, 4, null, 6);
$new_arr = array_map(function($value){
    return $value ?? '';
}, $arr);
print_r($new_arr);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [2] => 
    [3] => 4
    [4] => 
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk

Gunakan operator ?? untuk menukar nilai nol kepada rentetan kosong, dan kemudian gunakan fungsi array_filter() untuk menapis untuk mendapatkan nilai yang tidak mengandungi tatasusunan baru null.

Artikel ini memperkenalkan 4 kaedah untuk memadam nilai null ​​​​dalam tatasusunan PHP, iaitu pemadaman traversal, fungsi array_filter(), array_diff() dan fungsi array_map(). Kaedah yang berbeza sesuai untuk senario yang berbeza Semasa membangunkan, anda boleh memilih kaedah yang sesuai dengan anda mengikut situasi sebenar.

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