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

Bagaimana untuk membuang tatasusunan kosong dalam php

PHPz
PHPzasal
2023-04-19 11:38:231042semak imbas

PHP ialah bahasa pengaturcaraan sumber terbuka popular yang digunakan secara meluas dalam pembangunan web. Dalam pembangunan PHP, kita sering perlu mengendalikan pelbagai operasi pada tatasusunan. Apabila kami mengendalikan tatasusunan, kadangkala kami menghadapi beberapa masalah, seperti cara mengalih keluar tatasusunan kosong.

Dalam PHP, bagaimana untuk menentukan sama ada tatasusunan kosong? Kita boleh menggunakan fungsi empty() atau fungsi count() untuk menentukan sama ada tatasusunan kosong. Fungsi empty() boleh menentukan sama ada tatasusunan itu kosong atau tiada unsur. Fungsi count() boleh mengira bilangan elemen dalam tatasusunan Jika bilangan elemen ialah 0, ia bermakna tatasusunan itu kosong.

Jadi bagaimana untuk mengalih keluar tatasusunan kosong? Apabila memproses tatasusunan, kita boleh menggunakan pelbagai kaedah, seperti menggelung melalui tatasusunan, menapis tatasusunan, dan sebagainya. Mari perkenalkan beberapa kaedah untuk mengalih keluar tatasusunan kosong.

Kaedah 1. Gunakan fungsi array_filter()

Fungsi array_filter() ialah fungsi yang disediakan oleh PHP untuk menapis tatasusunan Ia boleh memadamkan elemen dalam tatasusunan yang tidak memenuhi syarat yang ditetapkan. Kita boleh mengalih keluar tatasusunan kosong dengan menggunakan fungsi array_filter(). Kodnya adalah seperti berikut:

$array = array('', 'a', 'b', 0, NULL, 'c', array());
$array = array_filter($array,'strlen');
print_r($array);

Dalam kod di atas, kami mula-mula menentukan tatasusunan yang mengandungi tatasusunan kosong. Kemudian dengan menggunakan fungsi array_filter(), fungsi panggil balik strlen diluluskan, yang boleh mengira panjang rentetan. Dalam contoh ini, kami menggunakan fungsi strlen sebagai fungsi panggil balik yang boleh memadam rentetan kosong dan tatasusunan kosong, dan akhirnya mendapat tatasusunan yang tidak mengandungi tatasusunan kosong.

Kaedah 2: Gunakan gelung foreach untuk melintasi tatasusunan

Kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan untuk mengalih keluar tatasusunan kosong. Kodnya adalah seperti berikut:

$array = array('', 'a', 'b', 0, NULL, 'c', array());
foreach ($array as $key => $value) {
    if (empty($value)) {
        unset($array[$key]);
    }
}
print_r($array);

Dalam kod di atas, kami menggunakan gelung foreach untuk melintasi tatasusunan Jika elemen kosong, kami menggunakan fungsi unset() untuk memadamkan elemen. Anda berakhir dengan tatasusunan yang tidak mengandungi tatasusunan kosong.

Kaedah 3. Gunakan fungsi array_values()

Fungsi array_values() boleh mengembalikan semua nilai dalam array sebagai tatasusunan baharu. Fungsi ini boleh digunakan pada tatasusunan selepas mengalih keluar tatasusunan kosong dalam kaedah 1 dan kaedah 2, dan akhirnya mengembalikan tatasusunan baharu. Kodnya adalah seperti berikut:

$array = array('', 'a', 'b', 0, NULL, 'c', array());
$array = array_values(array_filter($array,'strlen'));
print_r($array);

atau

$array = array_values($array);
foreach ($array as $key => $value) {
    if (empty($value)) {
        unset($array[$key]);
    }
}
$array = array_values($array);
print_r($array);

Dalam kod di atas, kami menggunakan fungsi array_values() untuk menyusun semula semua elemen dalam tatasusunan yang ditapis dan mengembalikan tatasusunan baharu .

Ringkasan

Di atas memperkenalkan cara menggunakan PHP untuk mengalih keluar tatasusunan kosong, termasuk menggunakan fungsi array_filter(), foreach gelung untuk melintasi tatasusunan dan menggunakan fungsi array_values(). Tetapi dalam aplikasi praktikal, kita juga perlu memilih kaedah yang sesuai mengikut situasi tertentu.

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