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

Bagaimana untuk membuang nilai nol dari tatasusunan dalam php

PHPz
PHPzasal
2023-04-25 10:43:02517semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas. Semasa proses pembangunan, kita selalunya perlu memproses pelbagai data, antaranya tatasusunan ialah jenis data yang digunakan secara meluas. Kadangkala, kita perlu mengalih keluar nilai nol dalam tatasusunan untuk operasi seterusnya. Artikel ini akan memperkenalkan cara mengalih keluar nilai nol dari tatasusunan dalam PHP.

1. Apakah nilai null tatasusunan

Dalam PHP, nilai null dalam tatasusunan merujuk kepada nilai berikut:

  1. null
  2. palsu
  3. 0
  4. 0.0
  5. ""
  6. Susun atur kosong

Untuk nilai di atas, semua dianggap dalam tatasusunan ialah nilai nol.

2. Kaedah mengalih keluar nilai nol daripada tatasusunan

  1. fungsi nyahset

Anda boleh menggunakan fungsi unset() PHP untuk memadam yang ditentukan pembolehubah dalam tatasusunan. Apabila kita memadam pembolehubah daripada tatasusunan, pembolehubah itu dipadam sepenuhnya, bukan hanya diberikan nilai nol.

Berikut ialah kod yang menggunakan fungsi unset() untuk mengalih keluar nilai nol dalam tatasusunan:

<?php
$arr = array(&#39;apple&#39;, &#39;&#39;, &#39;banana&#39;, null, &#39;pear&#39;);
foreach ($arr as $key => $value) {
    if (empty($value)) {
        unset($arr[$key]);
    }
}
print_r($arr);
?>

输出:Array ( [0] => apple [2] => banana [4] => pear )

Kod di atas menggunakan gelung foreach untuk berulang melalui setiap elemen dalam tatasusunan dan jika nilainya adalah null , kemudian gunakan fungsi unset() untuk memadamkan elemen daripada tatasusunan. Akhirnya, kandungan tatasusunan selepas memadamkan nilai nol dikeluarkan melalui fungsi print_r().

Perlu diambil perhatian bahawa apabila menggunakan gelung foreach untuk melintasi tatasusunan, cuba untuk tidak mengubah suai tatasusunan sebanyak mungkin. Jika tidak, lintasan yang tidak lengkap mungkin berlaku.

  1. fungsi array_filter

Fungsi array_filter() PHP boleh memadamkan nilai nol ​​​​dalam tatasusunan.

Berikut ialah kod yang menggunakan fungsi array_filter() untuk mengalih keluar nilai null ​​​​dalam tatasusunan:

<?php
$arr = array(&#39;apple&#39;, &#39;&#39;, &#39;banana&#39;, null, &#39;pear&#39;);
$arr = array_filter($arr, &#39;strlen&#39;); //使用strlen函数删除空值
print_r($arr);
?>

输出:Array ( [0] => apple [2] => banana [4] => pear )

Kod di atas menggunakan fungsi array_filter() untuk menapis nilai nol dalam tatasusunan, dan menggunakan fungsi strlen() sebagai syarat penapis untuk memadamkan elemen dengan panjang rentetan 0.

Perlu diambil perhatian bahawa fungsi array_filter() akan memadamkan elemen dengan nilai yang sama dengan palsu secara lalai.

  1. fungsi array_diff

Fungsi array_diff() PHP boleh digunakan untuk membandingkan dua tatasusunan dan mengembalikan perbezaannya. Kaedah ini boleh digunakan untuk mengalih keluar nilai nol daripada tatasusunan.

Berikut ialah kod yang menggunakan fungsi array_diff() untuk mengalih keluar nilai null ​​​​dalam tatasusunan:

<?php
$arr = array(&#39;apple&#39;, &#39;&#39;, &#39;banana&#39;, null, &#39;pear&#39;);
$arr = array_diff($arr, array(&#39;&#39;)); //删除数组中为空的元素
print_r($arr);
?>

输出:Array ( [0] => apple [2] => banana [4] => pear )

Kod di atas menggunakan fungsi array_diff() untuk membandingkan tatasusunan $arr dengan tatasusunan yang hanya mengandungi tatasusunan nilai nol, tetapkan hasilnya kepada $arr, dengan itu mengalih keluar elemen nol dalam tatasusunan $arr.

4. Ringkasan

Di atas adalah beberapa kaedah untuk mengalih keluar nilai null ​​​​dari tatasusunan dalam PHP. Kaedah yang berbeza boleh dipilih dan digunakan mengikut situasi tertentu. Perlu diingatkan bahawa apabila beroperasi dalam tatasusunan, anda mesti memberi perhatian kepada merentasi dan mengubah suai tatasusunan untuk mengelakkan masalah traversal yang tidak lengkap sebanyak mungkin.

Atas ialah kandungan terperinci Bagaimana untuk membuang nilai nol dari 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