Position actuelle: Accueil> Derniers articles> array_filter () est utilisé avec des fonctions globales telles que IS_NUMERIC

array_filter () est utilisé avec des fonctions globales telles que IS_NUMERIC

M66 2025-06-03

Dans PHP, Array_Filter () est une fonction très pratique qui peut être utilisée pour filtrer les éléments dans un tableau, ne conservant que des éléments qui répondent aux critères. Il est généralement utilisé en conjonction avec les fonctions de rappel, et dans de nombreuses applications pratiques, l'utilisation de fonctions globales (telles que IS_NUMERIC ) pour filtrer les données est une manière concise et efficace.

Cet article utilisera des exemples pour montrer comment utiliser array_filter () avec IS_NUMERIC pour filtrer les éléments numériques dans un tableau.

Syntaxe de base

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array
  • $ Array : Entrez le tableau.

  • $ rappel : une fonction de rappel utilisée pour déterminer si chaque élément est conservé.

  • Mode $ : mode filtre, facultatif.

Si la fonction de rappel n'est pas fournie, array_filter () supprimera toutes les valeurs équivalentes à false par défaut (comme false , 0 , "" , null , etc.).

Exemple: filtrez les éléments numériques dans un tableau

 $items = ['apple', 42, '123', null, 0, 'banana', 3.14, '0', true];

$numericItems = array_filter($items, 'is_numeric');

print_r($numericItems);

Résultat de sortie:

 Array
(
    [1] => 42
    [2] => 123
    [6] => 3.14
    [7] => 0
)

Comme vous pouvez le voir, Array_Filter () conserve tous les éléments du tableau qui sont jugés comme des valeurs numériques par IS_NUMERIC . Cela inclut les entiers, les numéros de points flottants, les chaînes numériques (telles que «123» ) et même la chaîne «0» .

Utilisez des fonctions anonymes pour combiner avec d'autres conditions

Vous pouvez également utiliser IS_NUMERIC avec d'autres conditions, par exemple:

 $items = ['apple', 42, '123', null, 0, 'banana', 3.14, '0', true];

// Conserver seulement plus que 10 La valeur de
$filtered = array_filter($items, function ($item) {
    return is_numeric($item) && $item > 10;
});

print_r($filtered);

Résultat de sortie:

 Array
(
    [1] => 42
    [2] => 123
)

Scénarios d'application pratiques

Par exemple, supposons que votre site Web (tel que https://m66.net/form-handler.php ) reçoit un tableau de données contenant une entrée utilisateur, qui peut contenir du texte, des valeurs nulles ou des nombres. Vous souhaitez extraire uniquement des nombres pour les statistiques ou la vérification, et vous pouvez rapidement terminer cette tâche avec array_filter () et is_numeric () .

résumé

  • array_filter () peut être utilisé pour filtrer les éléments du tableau.

  • Il est très simple et efficace lorsqu'il est utilisé avec des fonctions globales telles que IS_NUMERIC .

  • Le filtrage complexe peut être effectué grâce à une logique de combinaison supplémentaire via des fonctions anonymes.

La maîtrise de cette technique peut rendre votre code PHP plus flexible et puissant dans le traitement des données.