funkcja filtrowania tablicy z php:
array_filter ( $array, $callback_function, $flag )
$ array - To jest tablica wejściowa
$ callback_function - Funkcja zwrotna, której należy użyć, jeśli funkcja zwrotna zwraca true , bieżąca wartość z tablicy jest zwracana do tablicy wynikowej.
Flaga $ - jest to parametr opcjonalny , który określa, jakie argumenty są wysyłane do funkcji zwrotnej. Jeśli ten parametr jest pusty, wówczas funkcja wywołania zwrotnego przyjmuje wartości tablicowe jako argument. Jeśli chcesz wysłać klucz tablicy jako argument, użyj flagi $ jako ARRAY_FILTER_USE_KEY . Jeśli chcesz wysłać zarówno klucze, jak i wartości, powinieneś użyć flagi $ jako ARRAY_FILTER_USE_BOTH .
Na przykład: Rozważ prostą tablicę
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
Jeśli chcesz filtrować tablicę na podstawie klucza tablicy , musimy użyć ARRAY_FILTER_USE_KEY jako trzeciego parametru funkcji tablicy array_filter.
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
Jeśli chcesz filtrować tablicę na podstawie klucza tablicy i wartości tablicy , musimy użyć ARRAY_FILTER_USE_BOTH jako trzeciego parametru funkcji tablicy array_filter.
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
Przykładowe funkcje oddzwaniania:
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;
}
}
Wyjdzie
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
to spowoduje$b['bar']
BEnull
.