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

Bagaimana untuk memadam elemen kosong dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-26 09:16:57886semak imbas

Dalam pembangunan PHP, tatasusunan sering digunakan untuk menyimpan dan mengurus data. Walau bagaimanapun, kadangkala tatasusunan mengandungi beberapa elemen kosong, yang membazirkan memori dan menjadikan kod sukar untuk dikekalkan dan difahami. Oleh itu, mengetahui cara mengalih keluar elemen kosong daripada tatasusunan adalah kemahiran yang patut dipelajari.

Dalam PHP, terdapat pelbagai cara untuk mengalih keluar elemen kosong daripada tatasusunan. Dua daripada kaedah ini akan diperkenalkan di bawah.

Kaedah 1: Gunakan fungsi array_filter()

Fungsi array_filter() ialah fungsi terbina dalam PHP, digunakan untuk memproses tatasusunan. Ia boleh menapis elemen dalam tatasusunan berdasarkan keadaan yang ditentukan dan mengembalikan tatasusunan ditapis baharu.

Berdasarkan ciri ini, kita boleh menggunakan fungsi array_filter() untuk memadamkan elemen kosong dalam tatasusunan.

Berikut ialah kod sampel:

<?php
// 原始数组
$arr = array(&#39;hello&#39;, &#39;&#39;, &#39;world&#39;, &#39;&#39;, &#39;&#39;, &#39;PHP&#39;);
print_r($arr);

// 过滤空元素
$arr = array_filter($arr);
print_r($arr);
?>

Hasil keluaran:

Array
(
    [0] => hello
    [1] => 
    [2] => world
    [3] => 
    [4] => 
    [5] => PHP
)
Array
(
    [0] => hello
    [2] => world
    [5] => PHP
)

Seperti yang anda lihat, fungsi array_filter() boleh digunakan untuk mendapatkan tatasusunan baru, dalam tatasusunan baharu Tiada unsur kosong lagi.

Kaedah 2: Gunakan fungsi unset()

Kaedah lain ialah menggunakan fungsi unset() terbina dalam PHP. Fungsi unset() digunakan untuk memadam pembolehubah dan boleh memadamkan elemen yang ditentukan dalam tatasusunan. Kita boleh menggunakan pernyataan gelung foreach untuk merentasi tatasusunan untuk menentukan sama ada setiap elemen kosong Jika ia kosong, gunakan fungsi unset() untuk memadamnya.

Berikut ialah kod sampel:

<?php
// 原始数组
$arr = array(&#39;hello&#39;, &#39;&#39;, &#39;world&#39;, &#39;&#39;, &#39;&#39;, &#39;PHP&#39;);
print_r($arr);

// 删除空元素
foreach ($arr as $key => $value) {
    if ($value === '') {
        unset($arr[$key]);
    }
}
print_r($arr);
?>

Hasil keluaran:

Array
(
    [0] => hello
    [1] => 
    [2] => world
    [3] => 
    [4] => 
    [5] => PHP
)
Array
(
    [0] => hello
    [2] => world
    [5] => PHP
)

Seperti yang anda boleh lihat, menggunakan pernyataan gelung foreach dan fungsi unset() , kami juga mendapat Tatasusunan baharu tanpa unsur kosong.

Perbandingan kedua-dua kaedah

Kaedah menggunakan fungsi array_filter() adalah lebih ringkas dan jelas daripada kaedah menggunakan pernyataan gelung foreach dan fungsi unset(). Fungsi array_filter() mempunyai fungsi penapisan sendiri, yang boleh menyelesaikan masalah dengan satu baris kod. Pernyataan gelung foreach perlu menggunakan pernyataan if untuk menentukan sama ada setiap elemen kosong sebelum memadamnya Kod itu tidak kelihatan begitu ringkas.

Sebaliknya, apabila berurusan dengan tatasusunan besar, kaedah menggunakan fungsi unset() mungkin lebih cekap. Kerana apabila menggunakan fungsi array_filter(), tatasusunan baharu perlu dikembalikan, yang menggunakan memori dan masa tambahan.

Ringkasan

Memadamkan elemen kosong dalam tatasusunan ialah keperluan biasa dalam pembangunan PHP. Mengetahui cara mengalih keluar elemen kosong boleh meningkatkan kualiti dan kecekapan kod. Kedua-dua fungsi array_filter() dan fungsi unset() boleh melaksanakan fungsi ini Hanya pilih kaedah yang sesuai mengikut keperluan anda.

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