Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk membuang elemen kosong dari tatasusunan php

Bagaimana untuk membuang elemen kosong dari tatasusunan php

PHPz
Lepaskan: 2023-04-24 15:38:32
asal
777 orang telah melayarinya

Dalam pembangunan PHP, tatasusunan pemprosesan ialah operasi yang sangat biasa. Dalam aplikasi praktikal, kita sering menghadapi situasi di mana tatasusunan mengandungi elemen kosong. Jika elemen kosong ini tidak dikendalikan, operasi biasa program mungkin terjejas. Oleh itu, artikel ini akan menunjukkan kepada anda cara mengalih keluar elemen kosong daripada tatasusunan menggunakan PHP.

1. Apakah elemen kosong

Dalam PHP, kita boleh mencipta tatasusunan dengan cara berikut:

$arr = array('foo', '', 'bar');
Salin selepas log masuk

Kod di atas mencipta tatasusunan yang mengandungi 3 elemen , di mana elemen pertama ialah 'foo', elemen kedua ialah rentetan kosong, dan elemen ketiga ialah 'bar'. Dalam pembangunan sebenar, terdapat banyak kes elemen kosong tersebut Sebagai contoh, data kosong mungkin wujud dalam data borang yang diserahkan oleh pengguna, atau data kosong juga mungkin muncul dalam operasi pertanyaan pangkalan data.

2. Gunakan fungsi array_filter() untuk mengalih keluar elemen kosong

PHP mempunyai banyak fungsi tatasusunan yang berguna terbina dalam, termasuk fungsi array_filter(). Fungsi array_filter() digunakan untuk menapis elemen dalam tatasusunan mengikut keadaan yang ditentukan dan mengembalikan tatasusunan baharu. Biasanya, kami menggunakan fungsi panggil balik fungsi array_filter() untuk menapis elemen tatasusunan untuk mengalih keluar elemen kosong.

Berikut ialah kod sampel yang menggunakan fungsi array_filter() untuk mengalih keluar elemen kosong dalam tatasusunan:

$arr = array('foo', '', 'bar');

// 定义回调函数
function filter_empty($var) {
    return trim($var) != '';
}

// 使用 array_filter() 函数去除空白元素
$arr = array_filter($arr, 'filter_empty');

// 输出新数组
print_r($arr);
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

Array
(
    [0] => foo
    [2] => bar
)
Salin selepas log masuk

Melalui perkara di atas Seperti yang dapat dilihat daripada kod, selepas menggunakan fungsi array_filter() untuk mengalih keluar elemen kosong daripada tatasusunan asal, tatasusunan baharu dikembalikan, yang hanya mengandungi elemen bukan kosong.

Dalam kod contoh di atas, kami menggunakan fungsi bernama filter_empty sebagai fungsi panggil balik. Fungsi ini menggunakan fungsi trim() untuk mengalih keluar ruang pada kedua-dua belah rentetan, dan kemudian menentukan sama ada rentetan itu ialah rentetan kosong. Jika ia bukan rentetan kosong, ia mengembalikan benar, menunjukkan bahawa elemen perlu dikekalkan jika tidak, ia mengembalikan palsu, menunjukkan bahawa elemen itu perlu ditapis.

3 Gunakan foreach() untuk mengendalikan tatasusunan

Selain menggunakan fungsi array_filter(), anda juga boleh menggunakan foreach() untuk menggelung melalui tatasusunan, dan kemudian menggunakan unset () berfungsi untuk memadam elemen kosong. Berikut ialah kod sampel yang menggunakan gelung foreach() untuk mengalih keluar elemen kosong dalam tatasusunan:

$arr = array('foo', '', 'bar');

foreach ($arr as $i => $value) {
    if (trim($value) == '') {
        unset($arr[$i]);
    }
}

// 重新建立索引
$arr = array_values($arr);

// 输出新数组
print_r($arr);
Salin selepas log masuk

Jalankan kod di atas, outputnya ialah:

Array
(
    [0] => foo
    [1] => bar
)
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami menggunakan gelung foreach () melalui setiap elemen dalam tatasusunan. Jika elemen ialah elemen kosong, iaitu, ia adalah rentetan kosong selepas memanggil fungsi trim() untuk mengalih keluar ruang pada kedua-dua belah, kemudian gunakan fungsi unset() untuk memadamkan elemen tersebut. Akhir sekali, kami mengindeks semula tatasusunan menggunakan fungsi array_values(), menghasilkan tatasusunan baharu yang tidak mengandungi elemen kosong.

4. Gunakan fungsi array_reduce() untuk mengalih keluar elemen kosong

Selain daripada dua kaedah di atas, anda juga boleh menggunakan fungsi array_reduce() untuk mengalih keluar elemen kosong dalam tatasusunan. Fungsi array_reduce() digunakan untuk mengulang setiap elemen tatasusunan, mengira semua elemen melalui fungsi panggil balik dan mengembalikan nilai tunggal.

Berikut ialah kod sampel yang menggunakan fungsi array_reduce() untuk mengalih keluar elemen kosong dalam tatasusunan:

$arr = array('foo', '', 'bar');

// 定义回调函数
function reduce_empty($carry, $item) {
    if (trim($item) != '') {
        $carry[] = $item;
    }
    return $carry;
}

// 使用 array_reduce() 函数去除空白元素
$arr = array_reduce($arr, 'reduce_empty', array());

// 输出新数组
print_r($arr);
Salin selepas log masuk

Jalankan kod di atas, hasil output ialah:

Array
(
    [0] => foo
    [1] => bar
)
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi yang dipanggil reduce_empty, yang digunakan untuk mengulang setiap elemen tatasusunan. Jika elemen itu bukan elemen kosong, elemen itu ditambahkan pada tatasusunan baharu dan tatasusunan baharu dikembalikan. Akhir sekali, gunakan fungsi array_reduce() untuk mengalih keluar elemen kosong daripada tatasusunan asal dan mengembalikan tatasusunan baharu.

5. Ringkasan

Artikel ini memperkenalkan tiga kaedah menggunakan PHP untuk mengalih keluar elemen kosong dalam tatasusunan: menggunakan fungsi array_filter(), menggunakan gelung foreach() dan menggunakan array_reduce() fungsi. Walaupun kaedah ini berbeza, kesemuanya boleh mengalih keluar elemen kosong dalam tatasusunan dengan berkesan, dengan itu mengelak daripada menjejaskan operasi biasa program. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai untuk beroperasi mengikut situasi sebenar.

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