array_filter

array_filter -- Filtra os elementos de um array utilizando uma função

Descrição

array array_filter ( array input [, mixed callback])

array_filter( ) retorna um array contendo todos os elementos do array input filtrados de acordo com uma função aplicada . Se o array input for associativo , as chaves são preservadas .

Exemplo 1 . Exemplo de array_filter( )

 
function

 
impar(

 
$var

 
)

 
{

 
return

 
($var

 
%

 
2

 
==

 
1)

 
;

 
}

 
function

 
par($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

 
"Impares

 
:

 
\n"

 
;

 
print_r(array_filter($array1

 
,

 
"impar"))

 
;

 
echo

 
"Pares

 
:

 
\n"

 
;

 
print_r(array_filter($array2

 
,

 
"par"))

 
;



A saída deste programa seria :

 
Impares

 
:




 
Array

 
(

 
[a

 
]

 
=

 
1

 
[c

 
]

 
=

 
3

 
[e

 
]

 
=

 
5

 
)

 
Pares

 
:











As funções utilizadas por array_filter( ) não devem alterar os valores do array. . Por exemplo , adicionar ou remover um elemento , pode apagar o array ao qual está sendo aplicada array_filter( ) . Se este array for alterado , o comportamento desta função se torna imprevisvel .

Veja também array_map( ) e array_reduce( ) .