Rumah > pembangunan bahagian belakang > masalah PHP > php keluarkan rentetan kosong daripada tatasusunan

php keluarkan rentetan kosong daripada tatasusunan

PHPz
Lepaskan: 2023-05-05 20:48:06
asal
739 orang telah melayarinya

PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang mudah dipelajari yang digunakan secara meluas dalam pembangunan Web, terutamanya pembangunan aplikasi web dinamik. Dalam pembangunan PHP, tatasusunan pengendalian adalah operasi yang sangat biasa. Walau bagaimanapun, apabila memproses tatasusunan, kita selalunya perlu mengalih keluar rentetan kosong daripada tatasusunan. Di bawah, kami akan menerangkan secara terperinci cara membuang rentetan kosong daripada tatasusunan menggunakan PHP.

1. Apakah rentetan kosong

Dalam PHP, rentetan kosong bermakna kandungan rentetan yang diwakili oleh pembolehubah rentetan adalah kosong, yang juga boleh dipanggil nilai kosong rentetan kosong. Berikut ialah beberapa contoh:

$str1 = "";
$str2 = " ";
$str3 = null;
Salin selepas log masuk

Di mana $str1 dan $str2 kedua-duanya mewakili rentetan kosong dan $str3 mewakili nilai nol.

2. Alih keluar rentetan kosong daripada tatasusunan

Dalam PHP, kita boleh menggunakan fungsi array_filter() untuk mengalih keluar rentetan kosong daripada tatasusunan. Fungsi array_filter() akan memproses setiap elemen dalam tatasusunan masuk sebagai parameter fungsi panggil balik Jika fungsi panggil balik kembali benar, elemen semasa akan dikekalkan, jika tidak elemen semasa akan dipadamkan. Berdasarkan prinsip ini, kita boleh menapis rentetan kosong dalam tatasusunan dengan menggunakan fungsi panggil balik tersuai. Berikut ialah kaedah pelaksanaan khusus:

function removeEmpty($arr){
  foreach ($arr as $key => $value) {
    if(is_array($value)){//如果$value是数组则递归调用removeEmpty函数
      $arr[$key] = removeEmpty($value);
    }
    //以下处理字符串
    if(!is_array($value) && !mb_strlen(trim($value))){//如果$value是空字符串则删除
      unset($arr[$key]);
    }
  }
  return $arr;
}
$arr = array("a"=>"aaa", "b"=>"   ", "c"=>null, "d"=>"");
print_r(removeEmpty($arr));//输出结果:Array ( [a] => aaa ) 
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan fungsi removeEmpty() Dalam fungsi ini, kami mula-mula merentasi setiap elemen dalam tatasusunan untuk menentukan sama ada ia adalah tatasusunan , kemudian Panggil fungsi removeEmpty() secara rekursif untuk menukarnya menjadi tatasusunan yang tidak mengandungi rentetan kosong. Jika elemen semasa ialah pembolehubah jenis rentetan, gunakan fungsi trim() untuk mengalih keluar ruang pada kedua-dua hujung dan gunakan fungsi mb_strlen() untuk mengira panjang rentetan. Jika panjang rentetan ialah 0, ini bermakna pembolehubah ini mewakili rentetan kosong dan kita perlu memadamkannya daripada tatasusunan. Akhir sekali, fungsi removeEmpty() mengembalikan tatasusunan dengan rentetan kosong dialih keluar.

3. Aplikasi Praktikal

Di bawah, kami menggunakan kes praktikal untuk menggambarkan lebih lanjut cara menggunakan PHP untuk mengalih keluar rentetan kosong daripada tatasusunan.

Andaikan kita mempunyai tatasusunan maklumat produk dan nilai beberapa elemen ialah rentetan kosong atau nilai nol:

$productInfo = [
   "id" => "001",
   "name" => "苹果 iPhone 12",
   "color" => "",
   "price" => 10999,
   "description" => null,
   "in_stock" => true
];
Salin selepas log masuk

Kita perlu mengalih keluar rentetan kosong atau nilai null ​​daripada tatasusunan ini, dan kemudian keluarkan tatasusunan yang dialih keluar. Kita boleh menggunakan fungsi removeEmpty() di atas untuk mencapai keperluan ini:

$filteredArray = removeEmpty($productInfo);
print_r($filteredArray);//输出结果:Array ( [id] => 001 [name] => 苹果 iPhone 12 [price] => 10999 [in_stock] => 1 ) 
Salin selepas log masuk

Dalam kod di atas, kami memasukkan tatasusunan $productInfo sebagai parameter fungsi removeEmpty(), mengalih keluar rentetan kosong dan rentetan kosong Selepas nilai, tatasusunan baru $filteredArray diperolehi. Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan $filteredArray dan mendapatkan tatasusunan selepas mengeluarkan rentetan kosong.

4. Ringkasan

Dalam PHP, mengalih keluar rentetan kosong daripada tatasusunan adalah keperluan yang sangat biasa. Kita boleh menggunakan fungsi array_filter() dan fungsi panggil balik tersuai untuk mencapai keperluan ini. Menggunakan teknik ini boleh menjadikan kod kami lebih diperkemas dan cekap, serta mengelakkan ralat tidak dijangka yang disebabkan oleh rentetan kosong.

Atas ialah kandungan terperinci php keluarkan rentetan kosong daripada tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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