Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tapis tatasusunan menggunakan PHP array_filter()

Tapis tatasusunan menggunakan PHP array_filter()

WBOY
WBOYasal
2023-06-27 11:37:171602semak imbas

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 ]])

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);

Hasil output:

Array
(
    [0] => foo
    [2] => -1
)
  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);

Keputusan Output:

Array
(
    [1] => 20
    [3] => 40
    [5] => 60
    [7] => 80
)
  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);

Hasil keluaran:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
  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);

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!

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