php dizi filtre fonksiyonu:
array_filter ( $array, $callback_function, $flag )
$ array - Girdi dizisidir
$ callback_function - Kullanılacak geri arama işlevi , Geri arama işlevi true değerini döndürürse değerini , dizideki geçerli değer sonuç dizisine döndürülür.
$ flag - İsteğe bağlı bir parametredir , geri çağrı işlevine hangi bağımsız değişkenlerin gönderileceğini belirler. Bu parametre boşsa, geri çağrı işlevi dizi değerlerini bağımsız değişken olarak alır. Dizi anahtarını bağımsız değişken olarak göndermek istiyorsanız, $ flag öğesini ARRAY_FILTER_USE_KEY olarak kullanın . Hem anahtarları hem de değerleri göndermek istiyorsanız $ flag'ı ARRAY_FILTER_USE_BOTH olarak kullanmalısınız .
Örneğin: Basit diziyi düşünün
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
Diziyi dizi anahtarına göre filtrelemek istiyorsanız, array_filter dizi işlevinin üçüncü parametresi olarak ARRAY_FILTER_USE_KEY kullanmamız gerekir .
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
Diziyi dizi anahtarına ve dizi değerine göre filtrelemek istiyorsanız, array_filter dizi işlevinin üçüncü parametresi olarak ARRAY_FILTER_USE_BOTH kullanmamız gerekir .
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
Örnek Geri Arama işlevleri:
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;
}
}
Çıktı verecek
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
sonuçlanacaktır Bu$b['bar']
yönelik olacaktırnull
.