Array-Filterfunktion von php:
array_filter ( $array, $callback_function, $flag )
$array - Das ist das Eingabe-Array
$callback_function - Die zu verwendende Callback-Funktion Wenn die Callback-Funktion zurückgibt wahr wird der aktuelle Wert aus array in das Ergebnis-Array zurückgegeben.
$flag - Es ist optionaler Parameter bestimmt, welche Argumente an die Callback-Funktion gesendet werden. Wenn dieser Parameter leer ist, nimmt die Callback-Funktion Array-Werte als Argument. Wenn Sie Array-Schlüssel als Argument senden wollen, dann verwenden Sie $flag als ARRAY_FILTER_VERWENDUNG_SCHLÜSSEL . Wenn Sie sowohl Schlüssel als auch Werte senden wollen, sollten Sie $flag als ARRAY_FILTER_BENUTZEN_BEIDE .
Beispiel: Betrachten Sie ein einfaches Array
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
Wenn Sie ein Array basierend auf der Array-Schlüssel , Wir müssen ARRAY_FILTER_VERWENDUNG_SCHLÜSSEL als dritter Parameter der Array-Funktion array_filter.
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
Wenn Sie ein Array basierend auf der Array-Schlüssel und Array-Wert , Wir müssen ARRAY_FILTER_BENUTZEN_BEIDE als dritter Parameter der Array-Funktion array_filter.
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
Beispiele für Callback-Funktionen:
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;
}
}
Es wird ausgegeben
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )