Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengosongkan tatasusunan kosong dalam php

Bagaimana untuk mengosongkan tatasusunan kosong dalam php

PHPz
PHPzasal
2023-04-27 09:11:421056semak imbas

Dalam PHP, tatasusunan ialah salah satu daripada struktur data biasa yang boleh menyimpan set data tersusun. Dalam aplikasi praktikal, kita sering menghadapi situasi di mana kita perlu mengosongkan nilai nol dalam tatasusunan. Artikel ini akan memperkenalkan beberapa kaedah untuk mengosongkan tatasusunan kosong.

Kaedah 1: Gunakan array_filter()

PHP menyediakan fungsi terbina dalam array_filter(), yang boleh menapis nilai palsu dalam tatasusunan, termasuk nilai kosong (null, palsu, "" , 0, "0", [], dsb.). Penggunaan fungsi ini adalah seperti berikut:

$array = array("a", "", "b", null, false, 0, "0", []);
$result = array_filter($array);
print_r($result);

Hasilnya adalah seperti berikut:

Array
(
    [0] => a
    [2] => b
)

Dalam contoh di atas, kita mula-mula mentakrifkan tatasusunan $array, yang mengandungi beberapa nilai nol. Kemudian kami menggunakan fungsi array_filter() untuk menapis tatasusunan, menyimpan hasil yang ditapis ke pembolehubah $result dan mencetaknya. Seperti yang anda lihat, semua nilai nol ditapis dan hanya nilai bukan nol dikekalkan.

Kaedah 2: Gunakan gelung foreach

Selain menggunakan fungsi terbina dalam array_filter(), kita juga boleh menggunakan penyataan gelung untuk mengosongkan nilai null ​​​​dalam tatasusunan. Pelaksanaan khusus adalah seperti berikut:

$array = array("a", "", "b", null, false, 0, "0", []);
foreach ($array as $key => $value) {
    if (empty($value)) {
        unset($array[$key]);
    }
}
print_r($array);

Dalam contoh di atas, kami menggunakan gelung foreach untuk melintasi tatasusunan untuk menentukan sama ada setiap elemen kosong Jika ia kosong, gunakan fungsi unset() untuk memadam unsur. Akhir sekali, cetak tatasusunan selepas pemadaman. Output adalah sama seperti di atas.

Satu perkara yang perlu diambil perhatian ialah semasa gelung kami menggunakan fungsi unset() untuk memadamkan nilai nol, yang mungkin menukar nama kunci elemen dalam tatasusunan. Jika anda perlu mengekalkan nama kunci asal, anda perlu menggunakan fungsi array_values() untuk menetapkan semula indeks tatasusunan selepas operasi pemadaman.

Kaedah 3: Fungsi tersuai

Satu lagi cara biasa ialah mentakrifkan fungsi tersuai untuk mengosongkan nilai nol dalam tatasusunan. Kod pelaksanaan adalah seperti berikut:

function clean_array($arr) {
    foreach ($arr as $key => $value) {
        if (is_array($value)) {
            $arr[$key] = clean_array($value);
        } else {
            if (empty($value)) {
                unset($arr[$key]);
            }
        }
    }
    return $arr;
}
$array = array("a", "", "b", null, false, 0, "0", []);
$result = clean_array($array);
print_r($result);

Dalam kod di atas, kami menentukan fungsi clean_array(), yang merentasi elemen tatasusunan secara rekursif untuk menentukan sama ada setiap elemen kosong Jika ia kosong, gunakan unset( ). fungsi memadamkan elemen. Jika elemen ialah tatasusunan, maka fungsi itu dipanggil secara rekursif untuk meneruskan mengosongkan nilai nol. Akhirnya, tatasusunan selepas pemadaman dikembalikan.

Ringkasan

Artikel ini memperkenalkan beberapa kaedah biasa untuk mengosongkan tatasusunan kosong. Cara yang paling biasa ialah menggunakan fungsi PHP terbina dalam array_filter(), yang boleh menapis semua nilai nol sekali gus. Selain itu, kita juga boleh menggunakan pernyataan gelung foreach untuk melintasi tatasusunan, menentukan sama ada setiap elemen kosong, dan kemudian menggunakan fungsi unset() untuk memadamkan nilai kosong. Akhir sekali, kita juga boleh mentakrifkan fungsi tersuai untuk mengosongkan nilai kosong Fungsi ini menggunakan kaedah rekursif untuk merentasi elemen tatasusunan, menentukan sama ada setiap elemen kosong, dan kemudian menggunakan fungsi unset() untuk memadamkan elemen. Akhirnya, tujuan mengosongkan tatasusunan kosong tercapai.

Atas ialah kandungan terperinci Bagaimana untuk mengosongkan tatasusunan kosong 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