Filtrer les tableaux à l'aide de PHP array_filter()

WBOY
Libérer: 2023-06-27 13:54:01
original
1600 Les gens l'ont consulté

En PHP, la fonction array_filter() peut nous aider à filtrer rapidement les éléments d'un tableau. Cet article présentera l'utilisation de cette fonction et des exemples associés. La syntaxe de base de la fonction

array_filter() est :

array_filter(array $array [, callable $callback [, int $flag ]])
Copier après la connexion

où le paramètre $array est le tableau à filtrer, le paramètre $callback est une fonction de rappel facultative et le paramètre $flag est un indicateur facultatif utilisé pour déterminer comment gérer la valeur de retour de la fonction de rappel.

Expliquons ces paramètres un par un :

  1. $array : Le tableau à filtrer doit être de type tableau.
  2. $callback : Fonction de rappel facultative. S’ils ne sont pas spécifiés, les éléments avec une valeur false seront automatiquement filtrés. Le format de la fonction de rappel est fonction ($value), où $value est la valeur de l'élément du tableau. Si la fonction de rappel renvoie vrai, l'élément est conservé, sinon l'élément est supprimé.
  3. $flag : utilisé pour spécifier comment gérer la valeur de retour de la fonction de rappel. Par défaut, la fonction array_filter() ignore les éléments dont la valeur de retour est false, null ou une chaîne vide. Si le paramètre $flag est spécifié comme ARRAY_FILTER_USE_BOTH, le nom de la clé sera transmis à la fonction de rappel.

Jetons un coup d'œil à quelques exemples :

  1. Filtrez les valeurs vides et les fausses valeurs​​dans le tableau :
$array = array('foo', false, -1, null, '', 0);

$result = array_filter($array);

print_r($result);
Copier après la connexion

Résultats de sortie :

Array
(
    [0] => foo
    [2] => -1
)
Copier après la connexion
  1. Filtrez les nombres inférieurs à 10 dans le tableau :
$array = array(1, 20, 3, 40, 5, 60, 7, 80, 9);

$result = array_filter($array, function($value) {
    return $value > 10;
});

print_r($result);
Copier après la connexion

Résultat de sortie :

Array
(
    [1] => 20
    [3] => 40
    [5] => 60
    [7] => 80
)
Copier après la connexion
  1. Filtrer tous les nombres impairs dans le tableau :
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

$result = array_filter($array, function($value) {
    return $value % 2 == 0;
});

print_r($result);
Copier après la connexion

Résultat de sortie :

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
Copier après la connexion
  1. Conserver les éléments avec des noms de clé pairs dans le tableau :
$array = array(0 => 'foo', 1 => 'bar', 2 => 'baz', 3 => 'qux');

$result = array_filter($array, function($value, $key) {
    return $key % 2 == 0;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);
Copier après la connexion

Résultat de sortie :

Array
(
    [0] => foo
    [2] => baz
)
Copier après la connexion

Pour résumer, la fonction array_filter() est une fonction très pratique qui peut nous aider à filtrer rapidement les éléments d'un tableau et à réduire la complexité du code et la charge de travail. Nous pouvons librement utiliser les fonctions de rappel pour implémenter diverses fonctions de filtrage en fonction de nos propres besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal