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
PHPzasal
2023-04-19 10:04:33755semak imbas

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

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [2] => 
    [3] => 4
    [4] => 
    [5] => 6
)

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

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)

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

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)

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

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 4
    [5] => 6
)

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

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [2] => 
    [3] => 4
    [4] => 
    [5] => 6
)

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!

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