Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggelung melalui tatasusunan dan mengalih keluar nilai nol menggunakan PHP

Bagaimana untuk menggelung melalui tatasusunan dan mengalih keluar nilai nol menggunakan PHP

PHPz
PHPzasal
2023-04-27 09:08:28473semak imbas

Dalam PHP, selalunya perlu untuk melintasi tatasusunan dan menapis nilai berguna. Walau bagaimanapun, kadangkala terdapat beberapa nilai nol yang tidak berguna dalam tatasusunan, dan mereka perlu dipadamkan untuk memastikan ketepatan tatasusunan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melintasi tatasusunan dan mengalih keluar nilai nol daripadanya.

  1. Traversal tatasusunan asas

Dalam PHP, cara paling mudah untuk melintasi tatasusunan ialah menggunakan gelung foreach. Struktur asas gelung foreach adalah seperti berikut:

foreach ($array as $value) {
   // 对value进行操作
}

Gelung ini akan menetapkan setiap elemen dalam tatasusunan $array kepada pembolehubah $value dan beroperasi pada $value dalam badan gelung. Walau bagaimanapun, kaedah traversal ini tidak akan memadamkan nilai nol dalam tatasusunan, dan kaedah lain perlu digunakan untuk penapisan.

  1. Gunakan fungsi array_filter

PHP menyediakan fungsi array_filter, yang boleh memadamkan elemen yang tidak memenuhi syarat dalam tatasusunan. Penggunaan asasnya adalah seperti berikut:

$new_array = array_filter($array, 'callback');

Fungsi ini akan menghantar semua elemen dalam tatasusunan $array kepada panggilan balik fungsi panggil balik, dan kemudian mengembalikan tatasusunan baharu $new_array, yang hanya mengandungi elemen yang mana fungsi panggil balik kembali. nilai yang benar. Walau bagaimanapun, fungsi panggil balik adalah terlalu rumit.

Gunakan fungsi foreach dan unset
  1. Satu lagi kaedah biasa ialah menggunakan foreach loop dan fungsi unset. Proses asas adalah untuk menggelungkan setiap elemen dalam tatasusunan, mengekalkannya jika ia tidak kosong, jika tidak padamkannya. Contoh kod adalah seperti berikut:
$new_array = array_filter($array, function($value){
    return !empty($value);
});

Kod ini mula-mula menggunakan gelung foreach untuk merentasi setiap elemen dalam tatasusunan $array dan menggunakan pernyataan if untuk menentukan sama ada $value kosong. Jika ia kosong, gunakan fungsi unset untuk mengalih keluar elemen daripada tatasusunan $array.

Walaupun kaedah ini mudah dan mudah, menggunakan fungsi yang tidak ditetapkan semasa gelung boleh menyebabkan masalah prestasi dan tidak sesuai untuk tatasusunan besar.

Gunakan fungsi array_walk
  1. Fungsi array_walk boleh menggunakan fungsi panggil balik untuk memproses setiap elemen dalam tatasusunan. Semasa penggunaan, kita boleh mengubah suai tatasusunan asal dengan melalui rujukan. Penggunaan asas adalah seperti berikut:
foreach($array as $key => $value) {
    if(empty($value)) {
        unset($array[$key]);
    }
}

Kod ini mentakrifkan fungsi panggil balik removeEmpty, yang menggunakan kaedah hantaran rujukan untuk menghantar $value ke dalam fungsi, ia dinilai sama ada $value kosong kosong, unset digunakan untuk mengeluarkannya daripada tatasusunan. Akhir sekali, gunakan fungsi array_walk untuk menggunakan fungsi removeEmpty pada tatasusunan $array untuk mengalih keluar nilai nol di dalamnya.

Ringkasan
  1. Artikel ini memperkenalkan beberapa kaedah dalam PHP untuk merentasi tatasusunan dan mengalih keluar nilai nol Yang paling mudah dan pantas ialah menggunakan fungsi penapis_tatasusunan. Jika anda perlu memadamkan nilai nol terus semasa gelung, anda boleh menggunakan fungsi foreach dan unset atau fungsi array_walk. Menggunakan kaedah ini, anda boleh membersihkan data tatasusunan dan memastikan ketepatan data.

Atas ialah kandungan terperinci Bagaimana untuk menggelung melalui tatasusunan dan mengalih keluar nilai nol menggunakan 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