Функции за работа с масиви
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filterФилтрира елементите на масив посредством функция за обратно извикване

Описание

array array_filter ( array $input [, callback $callback ] )

Извършва итериране в масива input , като предава елементите на функцията указана с параметъра callback . Ако функцията за обратно извикване върне true, текущата стойност от input ще бъде върната в резултатния масив. Ключовете на масивите се запазват.

Параметри

input

Масивът, над който се извършват итерациите

callback

Функцията за обратно извикване, която ще бъде използвана

Ако не е установен callback , всички елементи на input , които имат стойности равни на FALSE (вж. преобразуване в булев тип) ще бъдат отстранени.

Връщани стойности

Връща филтрираният масив.

Примери

Example #1 Пример за array_filter()

<?php
function odd($var)
{
    return(
$var 1);
}

function 
even($var)
{
    return(!(
$var 1));
}

$array1 = array("a"=>1"b"=>2"c"=>3"d"=>4"e"=>5);
$array2 = array(6789101112);

echo 
"Нечетни :\n";
print_r(array_filter($array1"odd"));
echo 
"Четни:\n";
print_r(array_filter($array2"even"));
?>

Примерът по-горе ще изведе:

Нечетни :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Четни:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Example #2 array_filter() без callback

<?php

$entry 
= array(
             
=> 'foo',
             
=> false,
             
=> -1,
             
=> null,
             
=> ''
          
);

print_r(array_filter($entry));
?>

Примерът по-горе ще изведе:

Array
(
    [0] => foo
    [2] => -1
)

Бележки

Внимание

Ако масивът е променен от функцията за обратно извикване (като например е изтрит, добавен или унищожен елемент) поведението на функцията не е дефинирано.

Вж. също


Функции за работа с масиви
PHP Manual