Rechercher une fonction PHP

array_filter

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

array_filterFiltre les éléments d'un tableau grâce à une fonction de rappel

Description

array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array

Évalue chaque valeur du tableau array en les passant à la fonction de rappel callback. Si la fonction de rappel callback retourne TRUE, la valeur courante du tableau array est retournée dans le tableau résultant. Les clés du tableau sont préservées.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

array

Le tableau à parcourir

callback

La fonction de rappel à utiliser

Si aucune fonction de rappel callback n'est fournie, toutes les entrées du tableau array valant FALSE (voir la conversion en booléen) seront retirées.

flag

Drapeau indiquant quels sont les arguments à envoyer à la fonction de rappel callback :

  • ARRAY_FILTER_USE_KEY - passer la clé comme seul argument à callback au lieu de la valeur.
  • ARRAY_FILTER_USE_BOTH - passer à la fois la valeur et la clé comme arguments de callback au lieu de la valeur.
Par défaut 0 par défaut qui passera la valeur comme seul argument de callback.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne le tableau filtré.

Retour à la première page de Manuel PHP  Table des matières Haut

Historique

Version Description
5.6.0 Ajout du paramètre optionnel flag et des constantes ARRAY_FILTER_USE_KEY et ARRAY_FILTER_USE_BOTH

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec array_filter()

<?php
function odd($var)
{
    
// retourne si l'entier en entrée est impair
    
return $var 1;
}

function 
even($var)
{
    
// retourne si l'entier en entrée est pair
    
return !($var 1);
}

$array1 = ['a' => 1'b' => 2'c' => 3'd' => 4'e' => 5];
$array2 = [6789101112];

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

L'exemple ci-dessus va afficher :

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

Exemple #2 Exemple avec array_filter() callback

<?php

$entry 
= [
    
=> 'foo',
    
=> false,
    
=> -1,
    
=> null,
    
=> '',
    
=> '0',
    
=> 0,
];

print_r(array_filter($entry));
?>

L'exemple ci-dessus va afficher :

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

Exemple #3 Exemple avec array_filter() et flag

<?php

$arr 
= ['a' => 1'b' => 2'c' => 3'd' => 4];

var_dump(array_filter($arr, function($k) {
    return 
$k == 'b';
}, 
ARRAY_FILTER_USE_KEY));

var_dump(array_filter($arr, function($v$k) {
    return 
$k == 'b' || $v == 4;
}, 
ARRAY_FILTER_USE_BOTH));
?>

L'exemple ci-dessus va afficher :

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}

Retour à la première page de Manuel PHP  Table des matières Haut

Notes

Attention

Si le tableau est modifié depuis la fonction de rappel (par exemple des éléments sont ajoutés, effacés ou détruit), le comportement de cette fonction est indéfini.

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

  • array_map() - Applique une fonction sur les éléments d'un tableau
  • array_reduce() - Réduit itérativement un tableau
  • array_walk() - Exécute une fonction fournie par l'utilisateur sur chacun des éléments d'un tableau

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.array-filter.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut