Tapis tatasusunan menggunakan PHP array_filter()

WBOY
Lepaskan: 2023-06-27 13:54:01
asal
1601 orang telah melayarinya

Dalam PHP, fungsi array_filter() boleh membantu kami menapis elemen dalam tatasusunan dengan cepat. Artikel ini akan memperkenalkan penggunaan fungsi ini dan contoh yang berkaitan. Sintaks asas bagi fungsi

array_filter() ialah:

array_filter(array $array [, callable $callback [, int $flag ]])
Salin selepas log masuk

di mana parameter $array ialah tatasusunan yang akan ditapis, parameter $callback ialah fungsi panggil balik pilihan dan parameter $flag ialah bendera pilihan yang digunakan untuk menentukan cara Mengendalikan fungsi panggil balik mengembalikan nilai.

Mari kita terangkan satu persatu parameter ini:

  1. $array: Tatasusunan yang akan ditapis mestilah jenis tatasusunan.
  2. $panggilan balik: Fungsi panggil balik pilihan. Jika tidak dinyatakan, elemen dengan nilai palsu akan ditapis secara automatik. Format fungsi panggil balik ialah fungsi ($value), dengan $value ialah nilai elemen tatasusunan. Jika fungsi panggil balik kembali benar, elemen itu dikekalkan, jika tidak elemen itu dialih keluar.
  3. $flag: digunakan untuk menentukan cara mengendalikan nilai pulangan fungsi panggil balik. Secara lalai, fungsi array_filter() mengabaikan elemen dengan nilai pulangan palsu, null atau rentetan kosong. Jika parameter $flag ditentukan sebagai ARRAY_FILTER_USE_BOTH, nama kunci akan dihantar ke fungsi panggil balik.

Mari kita lihat beberapa contoh:

  1. Tapis nilai kosong dan nilai palsu ​​​​dalam tatasusunan:
$array = array('foo', false, -1, null, '', 0);

$result = array_filter($array);

print_r($result);
Salin selepas log masuk

Hasil output:

Array
(
    [0] => foo
    [2] => -1
)
Salin selepas log masuk
  1. Tapis nombor kurang daripada 10 tatasusunan:
$array = array(1, 20, 3, 40, 5, 60, 7, 80, 9);

$result = array_filter($array, function($value) {
    return $value > 10;
});

print_r($result);
Salin selepas log masuk

Keputusan Output:

Array
(
    [1] => 20
    [3] => 40
    [5] => 60
    [7] => 80
)
Salin selepas log masuk
  1. Tapis semua nombor ganjil dalam tatasusunan:
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

$result = array_filter($array, function($value) {
    return $value % 2 == 0;
});

print_r($result);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
Salin selepas log masuk
  1. Kekalkan elemen dengan nama kunci genap dalam tatasusunan
Keluaran: Kekalkan elemen dengan nama kunci genap dalam tatasusunan

$array = array(0 => 'foo', 1 => 'bar', 2 => 'baz', 3 => 'qux');

$result = array_filter($array, function($value, $key) {
    return $key % 2 == 0;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);
Salin selepas log masuk
Untuk meringkaskan, Fungsi array_filter() ialah fungsi yang sangat praktikal yang boleh membantu kami menapis elemen dalam tatasusunan dengan cepat dan mengurangkan kerumitan kod dan beban kerja. Kita boleh menggunakan fungsi panggil balik secara bebas untuk melaksanakan pelbagai fungsi penapisan mengikut keperluan kita sendiri.

Atas ialah kandungan terperinci Tapis tatasusunan menggunakan PHP array_filter(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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