Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP Fungsi Manual array_filter()

PHP Fungsi Manual array_filter()

PHPz
PHPzasal
2023-06-20 11:39:107829semak imbas

Manual Fungsi PHP: array_filter()

Sebagai bahasa pengaturcaraan yang sangat baik, PHP mempunyai set fungsi terbina dalam dan perpustakaan sambungan luaran yang sangat kaya. Tatasusunan ialah jenis data yang sangat biasa dan penting dalam PHP, jadi perpustakaan fungsi PHP mempunyai pelbagai fungsi operasi yang sangat kaya. Fungsi array_filter() ialah salah satu fungsi yang sangat praktikal Ia boleh digunakan untuk menapis elemen dalam tatasusunan Mari kita ketahui lebih lanjut tentang penggunaannya.

1. Gambaran Keseluruhan Fungsi

Fungsi array_filter() ialah fungsi yang digunakan untuk menapis elemen dalam tatasusunan Ia akan mengembalikan tatasusunan baharu dalam tatasusunan asal. Elemen ditapis berdasarkan syarat tertentu. Mengikut takrifan dokumen rasmi, sintaksnya adalah seperti berikut:

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

di mana $ tatasusunan bermaksud Tatasusunan asal yang ditapis, $panggilan balik ialah parameter fungsi panggil balik pilihan, dan $flag ialah parameter topeng pilihan.

2. Parameter fungsi

  1. $array

$array mewakili tatasusunan asal yang akan ditapis. Parameter ini mestilah jenis tatasusunan. Jika parameter ini bukan tatasusunan, tatasusunan kosong akan dikembalikan.

  1. $callback

$callback ialah parameter fungsi panggil balik pilihan. Nilai pulangannya mestilah jenis Boolean. Jika fungsi $callback tidak diberikan atau batal, fungsi array_filter() akan menentukan sama ada semua elemen dalam tatasusunan asal adalah nilai benar, dan elemen dengan nilai pulangan benar akan dikumpulkan ke dalam tatasusunan baharu.

  1. $flag

$flag ialah parameter topeng pilihan. Ia boleh mengambil tiga nilai:

  • ARRAY_FILTER_USE_KEY - Lulus kunci dan bukannya nilai kepada fungsi panggil balik.
  • ARRAY_FILTER_USE_BOTH - Hantar kekunci dan nilai kepada fungsi panggil balik.
  • Nilai lalai ialah 0, yang bermaksud bahawa hanya fungsi panggil balik yang dihantar nilai secara lalai.

3. Nilai pulangan fungsi

Nilai pulangan fungsi array_filter() ialah tatasusunan baharu. Tatasusunan baharu hanya mengandungi elemen yang memenuhi syarat dalam tatasusunan sumber. Jika tatasusunan baharu yang dikembalikan kosong, tatasusunan kosong akan dikembalikan.

4. Contoh fungsi

Di bawah kami menggunakan beberapa contoh untuk menunjukkan penggunaan fungsi array_filter().

  1. Tapis nombor genap

// Tapis nombor genap dalam tatasusunan
function filter_odd($var)
{

return ($var & 1) == 0;

}
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$filtered_arr = array_filter($arr, "filter_odd");
print_r( $filtered_arr );

Output:

Array
(

[1] => 2
[3] => 4
[5] => 6
[7] => 8
[9] => 10

)

Dalam contoh ini, kami mentakrifkan fungsi panggil balik filter_odd() kepada Tapis nombor genap dalam tatasusunan. Apabila memanggil fungsi array_filter(), lulus fungsi panggil balik ini sebagai parameter $callback. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi hanya nombor genap dalam tatasusunan asal.

  1. Nilai nol dalam penapisan

// Tapis elemen bukan kosong dalam tatasusunan
$arr = ["", "hello", NULL , " world", false, 0, [], " ", "test"];
$filtered_arr = array_filter($arr);
print_r($filtered_arr);

Output:

Array
(

[1] => hello
[3] => world
[7] =>  
[8] => test

)

Dalam contoh ini, kami tidak menentukan parameter $callback, dan fungsi array_filter() akan menentukan sama ada semua elemen dalam tatasusunan ialah nilai benar. Rentetan kosong, NULL, palsu, 0, dan tatasusunan kosong semuanya dianggap nilai palsu dan oleh itu tidak akan disertakan dalam tatasusunan baharu.

  1. Tapis rentetan dengan panjang lebih daripada 2 dalam tatasusunan

// Tapis rentetan dengan panjang lebih daripada 2 dalam tatasusunan
$ arr = ["php" , "html", "css", "js"];
$filtered_arr = array_filter($arr, function($var) {

return strlen($var) > 2;

});
print_r($filtered_arr);

Output:

Array
(

[0] => php
[1] => html
[2] => css

)

Dalam contoh ini, kami tidak menyatakan $flag parameter, tetapi kami menggunakan satu Fungsi tanpa nama berfungsi sebagai $callback Fungsi ini digunakan untuk menentukan sama ada panjang rentetan lebih daripada 2. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi hanya rentetan dengan panjang lebih daripada 2.

5. Ringkasan

Fungsi array_filter() ialah fungsi operasi tatasusunan yang sangat praktikal, yang boleh membantu kami menapis data yang tidak diperlukan, mengekalkan hanya data yang berguna dan menjadikan data lebih diperkemas. Ia boleh membawa kemudahan yang hebat, boleh menyelesaikan beberapa tugas operasi tatasusunan dengan mudah, dan meningkatkan kecekapan pembangunan program PHP.

Atas ialah kandungan terperinci PHP Fungsi Manual 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