Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar elemen dengan nilai sama dengan 3 daripada tatasusunan php
Langkah pelaksanaan: 1. Sesuaikan fungsi penapis untuk memproses tatasusunan dan mengembalikan elemen tatasusunan yang nilainya tidak sama dengan 3. Sintaks ialah "nama fungsi fungsi ($num) {return ($num!=3) ;}"; 2. Gunakan fungsi array_filter() untuk memanggil fungsi penapis tersuai untuk memproses tatasusunan yang ditentukan, "array_filter($arr,"function name")".
Persekitaran pengendalian tutorial ini: sistem windows7, PHP versi 8.1, komputer DELL G3
Dalam php, anda boleh menggunakan array_filter Fungsi () menapis tatasusunan dan mengalih keluar elemen dengan nilai sama dengan 3, iaitu, mengekalkan elemen dengan nilai tidak sama dengan 3.
fungsi array_filter() menggunakan fungsi panggil balik untuk menapis elemen dalam tatasusunan.
Fungsi ini menghantar setiap nilai kunci dalam tatasusunan input kepada fungsi panggil balik. Jika fungsi panggil balik kembali benar, nilai kunci semasa dalam tatasusunan input dikembalikan kepada tatasusunan hasil. Nama kunci tatasusunan kekal tidak berubah.
Kaedah pelaksanaan: Hanya tetapkan syarat dalam fungsi panggil balik yang dipanggil oleh fungsi array_filter() dan kembalikan elemen tatasusunan yang nilainya tidak sama dengan 3.
<?php function f($num){ return($num!=3); } $arr=array(1,2,3,4,5,6,5,4,3,2,1); var_dump($arr); $res=array_filter($arr,"f"); var_dump($res); ?>
Penerangan:
array_filter - Gunakan fungsi panggil balik untuk menapis elemen tatasusunan
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Parameter:
◇array: tatasusunan yang akan dilalui
◇panggilan balik: fungsi panggil balik yang digunakan
Jika tiada fungsi panggil balik disediakan, semua "kosong" daripada tatasusunan dalam tatasusunan akan dipadamkan "elemen. Lihat empty() untuk mengetahui cara PHP menentukan elemen "kosong".
◇mod menentukan parameter yang dihantar ke bendera panggil balik:
ARRAY_FILTER_USE_KEY - Gunakan nama kunci sebagai satu-satunya parameter panggilan balik, bukan nilai
ARRAY_FILTER_USE_BOTH - Hantar kedua-dua nilai dan kunci sebagai argumen kepada panggilan balik dan bukannya hanya menghantar nilai
Nilai lalai ialah 0, hanya menghantar nilai sebagai panggilan balik Satu-satunya parameter.
Nilai pulangan: Mengembalikan tatasusunan yang ditapis.
array_filter berulang melalui setiap nilai dalam tatasusunan dan menghantar setiap nilai kepada fungsi panggil balik panggil balik. Jika fungsi panggil balik kembali benar, nilai semasa dalam tatasusunan dikembalikan kepada tatasusunan hasil.
Nama kunci (subskrip) tatasusunan hasil yang dikembalikan akan kekal tidak berubah Jika parameter tatasusunan ialah tatasusunan indeks, nama kunci tatasusunan hasil (subskrip) mungkin tidak berterusan. Tatasusunan boleh diindeks semula menggunakan fungsi array_values().
Apabila fungsi array_filter() digunakan untuk mengisytiharkan fungsi panggil balik, ia akan memadamkan nilai palsu (nilai nol), namun, jika fungsi panggil balik tidak ditentukan, semua elemen dalam tatasusunan dengan nilai sama dengan FALSE, seperti null, akan dipadamkan nilai String atau NULL.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen dengan nilai sama dengan 3 daripada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!