|
(PHP 4 >= 4.0.6) array_filter -
фильтрует элементы массива с использованием callback-функции.
Описаниеarray array_filter (array input [, mixed callback])
array_filter() возвращает массив, содержащий все элементы input, отфильтрованные в соответствии с callback-функцией. Если
input это ассоциативный массив, ключи сохраняются.
Пример 1. array_filter()
function odd($var) {
return ($var % 2 == 1);
}
function even($var) {
return ($var % 2 == 0);
}
$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even")); |
Программа напечатает: Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
) |
|
Примечание: вместо имени функции массив может быть предоставлен массив, содержащий ссылку
на объект и имя метода.
Пользователи не могут изменять сам массив в callback-функции
(добавлять/удалять элемент, unset массив, к которому применяется array_filter(). Если массив изменяется, поведение этой функции не определено.
См. также array_map() и
array_reduce(). | |