Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan kepada penggunaan fungsi array_filter() PHP

Pengenalan kepada penggunaan fungsi array_filter() PHP

王林
王林asal
2023-06-27 11:50:453397semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat biasa. Penapisan dan penapisan tatasusunan adalah salah satu operasi biasa. Pada masa ini, anda boleh menggunakan fungsi tatasusunan array_filter() yang disediakan oleh PHP. Artikel ini akan memperkenalkan dan menunjukkan penggunaan fungsi ini.

1. Penggunaan asas fungsi array_filter()

Fungsi fungsi array_filter() adalah untuk menapis dan menapis tatasusunan. Sintaks asas adalah seperti berikut:

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

Antaranya, parameter $array ialah tatasusunan yang akan disaring dan ditapis parameter $callback ialah parameter pilihan, digunakan untuk menentukan fungsi panggil balik untuk menilai setiap elemen tatasusunan, dan elemen yang memenuhi syarat akan dikekalkan, dan elemen yang tidak memenuhi syarat akan dipadamkan parameter $flag juga merupakan parameter pilihan, digunakan untuk menentukan peraturan kaedah penapisan secara keseluruhan, iaitu :

  • ARRAY_FILTER_USE_KEY - Tentukan penggunaan nama kunci untuk penapisan dan Penapisan
  • ARRAY_FILTER_USE_BOTH - menentukan penggunaan nama kunci dan nilai kunci untuk penapisan dan penapisan
  • SESIFIKASI_FILTER; penapisan dan penapisan;
  • 0 - menentukan penggunaan nilai utama untuk penapisan dan penapisan (pilihan lalai).

Seterusnya, kami akan memperkenalkan parameter secara terperinci.

2. Penjelasan terperinci tentang parameter $array

Parameter ini ialah parameter yang diperlukan dan mewakili tatasusunan untuk ditapis dan ditapis. Penggunaan khusus adalah seperti berikut:

$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr);
print_r($newArr); //输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

Dalam contoh di atas, $arr ialah tatasusunan asal untuk disaring dan ditapis, dan $newArr ialah tatasusunan baharu yang diperoleh selepas diproses oleh fungsi array_filter(). Jika parameter $callback tidak dihantar, semua elemen bukan "false" dalam $array akan dikekalkan dan hasil output akan konsisten dengan tatasusunan asal.

3 Penjelasan terperinci tentang parameter $callback

Parameter $callback adalah pilihan Jika parameter ini tidak dinyatakan, fungsi akan menggunakan peraturan berikut untuk penapisan secara lalai:

  • Kekalkan semua elemen bukan "palsu". dalam $array ;
  • Padam semua elemen "palsu" dalam $array;
  • Susun semula elemen yang dikekalkan dan kembalikan tatasusunan baharu.

Jika parameter $callback ditentukan, $callback mestilah fungsi panggil balik yang digunakan untuk menentukan sama ada setiap elemen dalam tatasusunan memenuhi keperluan penapisan atau penapisan.

Fungsi panggil balik mesti menerima parameter, iaitu elemen yang akan diproses, dan kemudian mengembalikan nilai Jika nilai yang dikembalikan adalah "benar", ini bermakna elemen itu memenuhi keperluan dan harus dikekalkan. Jika nilai yang dikembalikan adalah "palsu", ini bermakna elemen itu tidak memenuhi keperluan dan harus dialih keluar.

Sintaks asas fungsi panggil balik adalah seperti berikut:

function callback_function($element) {
   // 进行一些处理,然后返回true或false
}

Berikut ialah contoh:

$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr, function($element) {
   return $element > 2;
});
print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )

Dalam contoh di atas, kita lulus dalam fungsi panggil balik, yang digunakan untuk menentukan sama ada setiap elemen dalam tatasusunan lebih besar daripada 2. Jika ya, simpan elemen tersebut, jika tidak padam elemen tersebut. Selepas pemprosesan, hanya elemen 3, 4, dan 5 dikekalkan.

4 Penjelasan terperinci tentang parameter $flag

Parameter $flag juga merupakan parameter pilihan, digunakan untuk menentukan peraturan kaedah penapisan. Jika parameter ini tidak dinyatakan, peraturan "penapisan nilai kunci" digunakan secara lalai. Berikut ialah empat peraturan:

  1. $flag = ARRAY_FILTER_USE_KEY

Gunakan nama kunci untuk menapis dan menapis. Berikut ialah contoh:

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);
$newArr = array_filter($arr, function($key) {
   return $key == 'a' || $key == 'c';
}, ARRAY_FILTER_USE_KEY);
print_r($newArr); //输出:Array ( [a] => 1 [c] => 3 )

Dalam contoh di atas, parameter $flag ditetapkan kepada ARRAY_FILTER_USE_KEY, yang bermaksud bahawa hanya nama kunci digunakan untuk penapisan dan penapisan. Fungsi panggil balik boleh mengekalkan elemen dengan nama kunci "a" dan "c" dan mengembalikan tatasusunan baharu.

  1. $flag = ARRAY_FILTER_USE_BOTH

Gunakan nama kunci dan nilai kunci untuk menapis dan menapis. Berikut ialah contoh:

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);
$newArr = array_filter($arr, function($key, $value) {
   return $key == 'a' && $value == 1;
}, ARRAY_FILTER_USE_BOTH);
print_r($newArr); //输出:Array ( [a] => 1 )

Dalam contoh di atas, parameter $flag ditetapkan kepada ARRAY_FILTER_USE_BOTH, yang bermaksud bahawa kedua-dua nama kunci dan nilai kunci digunakan untuk penapisan dan penapisan. Fungsi panggil balik boleh mengekalkan elemen dengan nama kunci "a" dan nilai kunci 1, dan mengembalikan tatasusunan baharu.

  1. $flag = ARRAY_FILTER_USE_VALUE

Gunakan nilai utama untuk penapisan dan penapisan. Berikut ialah contoh:

$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr, function($value) {
   return $value % 2 == 0;
}, ARRAY_FILTER_USE_VALUE);
print_r($newArr); //输出:Array ( [1] => 2 [3] => 4 )

Dalam contoh di atas, parameter $flag ditetapkan kepada ARRAY_FILTER_USE_VALUE, yang bermaksud bahawa hanya nilai utama digunakan untuk penapisan dan penapisan. Fungsi panggil balik boleh mengekalkan elemen bernombor genap dan mengembalikan tatasusunan baharu.

  1. $flag = 0

Nyatakan menggunakan nilai kunci untuk penapisan dan penapisan (pilihan lalai). Berikut ialah contoh:

$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr, function($value) {
   return $value > 2;
});
print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )

Dalam contoh di atas, parameter $flag tidak ditetapkan, yang bermaksud bahawa nilai kunci digunakan untuk menapis dan menapis secara lalai. Fungsi panggil balik boleh mengekalkan elemen lebih besar daripada 2 dan mengembalikan tatasusunan baharu.

5. Fungsi Summary

array_filter() ialah fungsi tatasusunan yang sangat biasa dan praktikal dalam PHP, yang boleh digunakan untuk menapis dan menapis tatasusunan. Artikel ini menyediakan pengenalan terperinci dan demonstrasi penggunaan asas dan penjelasan parameter fungsi ini. Saya berharap melalui kajian artikel ini, anda akan menguasai prinsip asas dan penggunaan fungsi ini dan dapat menggunakannya secara fleksibel dalam pengaturcaraan sebenar.

Atas ialah kandungan terperinci Pengenalan kepada penggunaan fungsi array_filter() 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