array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter -- Filtre les éléments d'un tableau

Description

array array_filter ( array input [, callback callback] )

array_filter() retourne un tableau contenant les éléments du tableau input, filtrés grâce à la fonction callback. Si input est un tableau associatif, les clés sont préservées.

Exemple 1. Exemple avec array_filter()

<?php
function impair($var)
{
    return (
$var % 2 == 1);
}

function
pair($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
"Impairs :\n";
print_r(array_filter($array1, "impair"));
echo
"Pairs :\n";
print_r(array_filter($array2, "pair"));
?>

L'exemple ci-dessus va afficher :

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

La fonction appelée ne doit pas modifier le tableau lui-même, c'est à dire ajouter ou supprimer une valeur. Si des éléments sont modifiés, le comportement de array_filter() est indéfini.

Si la fonction callback n'est pas fournie, array_filter() va supprimer toutes les entrées de input qui sont égales à FALSE. Voyez conversion en booléen pour plus d'informations.

Exemple 2. array_filter() sans callback

<?php

$entry
= array(
             
0 => 'foo',
             
1 => false,
             
2 => -1,
             
3 => null,
             
4 => ''
          
);

print_r(array_filter($entry));
?>

L'exemple ci-dessus va afficher :

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

Voir aussi array_map(), array_reduce() et array_walk().