fungsi filter array dari php:
array_filter ( $array, $callback_function, $flag )
$ array - Ini adalah array input
$ callback_function - Fungsi callback yang digunakan , Jika fungsi callback kembali true , nilai saat ini dari array dikembalikan ke array hasil.
$ flag - Ini adalah parameter opsional , ini akan menentukan argumen apa yang dikirim ke fungsi callback. Jika parameter ini kosong maka fungsi callback akan mengambil nilai array sebagai argumen. Jika Anda ingin mengirim kunci array sebagai argumen, gunakan $ flag sebagai ARRAY_FILTER_USE_KEY . Jika Anda ingin mengirim kedua kunci dan nilai, Anda harus menggunakan $ flag sebagai ARRAY_FILTER_USE_BOTH .
Sebagai Contoh: Pertimbangkan array sederhana
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
Jika Anda ingin memfilter array berdasarkan kunci array , Kita perlu menggunakan ARRAY_FILTER_USE_KEY sebagai parameter ketiga dari array function array_filter.
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
Jika Anda ingin memfilter array berdasarkan kunci array dan nilai array , Kita perlu menggunakan ARRAY_FILTER_USE_BOTH sebagai parameter ketiga dari array function array_filter.
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
Contoh fungsi Panggilan Balik:
function get_key($key)
{
if($key == 'a')
{
return true;
} else {
return false;
}
}
function get_both($val,$key)
{
if($key == 'a' && $val == 1)
{
return true;
} else {
return false;
}
}
Ini akan menampilkan
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
ini akan menghasilkan$b['bar']
benull
.