Funciones de Arrays
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filterFiltra elementos de un array usando una función de devolución de llamada

Descripción

array array_filter ( array $input [, callable $callback = "" ] )

Itera sobre cada valor en el array input pasándolos a la función callback. Si la función callback retorna true, el valor actual desde input se retorna dentro del array de resultado. Las keys del array son preservadas.

Parámetros

input

El array sobre el cual iterar.

callback

La función de devolución de llamada a usar.

Si no se suministra el parámetro callback, todas las entradas de input iguales a FALSE (ver converting to boolean) serán removidos.

Valores devueltos

Retorna el array filtrado.

Ejemplos

Ejemplo #1 Ejemplo de array_filter()

<?php
function odd($var)
{
    
// Retorna siempre que el número entero sea impar
    
return($var 1);
}

function 
even($var)
{
    
// Retorna siempre que el número sea impar
    
return(!($var 1));
}

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

echo 
"Odd :\n";
print_r(array_filter($array1"odd"));
echo 
"Even:\n";
print_r(array_filter($array2"even"));
?>

El resultado del ejemplo sería:

Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Ejemplo #2 array_filter() sin callback

<?php

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

print_r(array_filter($entry));
?>

El resultado del ejemplo sería:

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

Notas

Precaución

Si el array es cambiado desde la función de devolución de llamada (por ejemplo elemento añadido, suprimido o unset) el comportamiento de esta función no está definido.

Ver también


Funciones de Arrays
PHP Manual