array_filter
(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtre les éléments d'un tableau grâce à une fonction utilisateur
Description
Évalue chaque valeur du tableau input en les passant à la fonction utilisateur. Si la fonction utilisateur retourne TRUE, la valeur courante du tableau input est retourné dans le tableau résultant. Les clés du tableau sont préservées.
Liste de paramètres
- input
-
Le tableau à évaluer
- callback
-
La fonction utilisateur à utiliser
Si aucune fonction utilisateur n'est fournie, toutes les entrées du tableau input valant FALSE (voir la conversion en booléen) seront effacées.
Valeurs de retour
Retourne le tableau filtré.
Exemples
Example#1 Exemple avec 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(6, 7, 8, 9, 10, 11, 12);
echo "Ancien :\n";
print_r(array_filter($array1, "odd"));
echo "Nouveau :\n";
print_r(array_filter($array2, "even"));
?>
L'exemple ci-dessus va afficher :
Ancien : Array ( [a] => 1 [c] => 3 [e] => 5 ) Nouveau : Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
Example#2 Exemple avec array_filter() sans fonction utilisateur
<?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 )
Notes
Si le tableau est modifié depuis la fonction utilisateur (e.g. des éléments sont ajoutés, effacés ou réinitialisés), le comportement de cette fonction est indéfinie.