функция фильтра массива из php:
array_filter ( $array, $callback_function, $flag )
$ array - это входной массив
$ callback_function - функция обратного вызова для использования , Если функция обратного вызова возвращает true, текущее значение из массива возвращается в массив результатов.
$ flag - это необязательный параметр, он определяет, какие аргументы отправляются в функцию обратного вызова. Если этот параметр пуст, функция обратного вызова примет значения массива в качестве аргумента. Если вы хотите отправить ключ массива в качестве аргумента, используйте $ flag как ARRAY_FILTER_USE_KEY. Если вы хотите отправлять и ключи, и значения, вы должны использовать флаг $ как 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 )
person
prince jose
schedule
11.01.2017
$b = ['foo' => $a['foo'], 'bar' => $a['bar']]
Это приведет к$b['bar']
будетnull
. - person oriadam   schedule 02.04.2018