функція фільтра масиву з php:
array_filter ( $array, $callback_function, $flag )
$ масив - це вхідний масив
$ callback_function - функція зворотного дзвінка, яка використовується , Якщо функція зворотного дзвінка повертає значення true , поточне значення з масиву повертається в масив результатів.
$ flag - це необов'язковий параметр , він визначає, які аргументи надсилаються до функції зворотного виклику. Якщо цей параметр порожній, функція зворотного виклику прийме значення масиву як аргумент. Якщо ви хочете надіслати ключ масиву як аргумент, тоді використовуйте $ flag як ARRAY_FILTER_USE_KEY . Якщо ви хочете надіслати і ключі, і значення, ви повинні використовувати $ flag як ARRAY_FILTER_USE_BOTH .
Наприклад: Розгляньте простий масив
$array = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
Якщо ви хочете відфільтрувати масив на основі ключа масиву , нам потрібно використовувати ARRAY_FILTER_USE_KEY як третій параметр функції масиву array_filter.
$get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );
Якщо ви хочете відфільтрувати масив на основі ключа масиву та значення масиву , нам потрібно використовувати ARRAY_FILTER_USE_BOTH як третій параметр функції масиву array_filter.
$get_both = array_filter($array,"get_both",ARRAY_FILTER_USE_BOTH );
Зразкові функції зворотного виклику:
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;
}
}
Це виведе
Output of $get_key is :Array ( [a] => 1 )
Output of $get_both is :Array ( [a] => 1 )
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
Це призведе до$b['bar']
Вnull
.