Position actuelle: Accueil> Derniers articles> Comment filtrer efficacement les données du tableau lorsque est_array est utilisée en combinaison avec array_filter?

Comment filtrer efficacement les données du tableau lorsque est_array est utilisée en combinaison avec array_filter?

gitbox 2025-06-09

Dans la programmation PHP, le traitement des tableaux est une tâche courante. Nous pouvons rencontrer la nécessité de filtrer les éléments qui répondent à certains critères d'un grand tableau. IS_Array et Array_Filter sont deux fonctions PHP très utiles qui nous aident à filtrer efficacement les données de tableau. Dans cet article, nous explorerons comment combiner ces deux fonctions pour filtrer efficacement les tableaux.

1. Qu'est-ce que c'est_array et array_filter ?

is_array

is_array est une fonction utilisée pour vérifier si une variable est un tableau. Si la variable est un tableau, is_array renvoie true , sinon faux .

grammaire:

 bool is_array ( mixed $var )

array_filter

Array_Filter est une fonction utilisée pour filtrer les éléments dans un tableau qui répond aux critères. Il teste chaque élément du tableau en fonction de la fonction de rappel donnée, renvoyant une nouvelle gamme d'éléments qui répondent aux critères.

grammaire:

 array array_filter ( array $array , callable $callback = NULL )

Si aucune fonction de rappel n'est fournie, Array_Filter supprime les éléments avec une valeur de false dans le tableau par défaut.

2. Scénarios utilisant IS_Array et Array_Filter

Dans le développement réel, nous devons souvent confirmer d'abord s'il s'agit d'un tableau valide lors du traitement d'un tableau, puis de filtrer les éléments du tableau en fonction de conditions spécifiques. En utilisant la combinaison de IS_Array et Array_Filter , certaines erreurs inutiles et opérations de filtrage d'optimisation peuvent être effectivement évitées.

Exemple: filtrez tous les éléments supérieurs à 10

Supposons que nous ayons un tableau qui doit filtrer tous les nombres supérieurs à 10. Premièrement, nous voulons vérifier si ce tableau est valide, puis le filtrer à l'aide de Array_Filter .

Exemple de code:

 <?php
$data = [1, 5, 12, 18, 3, 7, 20];

if (is_array($data)) {
    $filtered_data = array_filter($data, function($value) {
        return $value > 10;
    });
    
    print_r($filtered_data);
} else {
    echo "Les données ne sont pas un tableau valide";
}
?>

Dans cet exemple, nous utilisons d'abord IS_Array pour vérifier si $ les données sont un tableau valide. S'il s'agit d'un tableau, nous utilisons alors Array_Filter pour filtrer tous les nombres supérieurs à 10 et imprimer les résultats du filtre.

Sortir:

 Array
(
    [2] => 12
    [3] => 18
    [6] => 20
)

3. Utiliser l'URL pour filtrer les données

Parfois, nous devons filtrer par l'URL dans le tableau. Supposons que nous ayons un tableau contenant plusieurs adresses URL, et nous devons filtrer toutes les URL avec gitbox.net comme nom de domaine. Pour le moment, nous pouvons combiner IS_Array et Array_Filter pour effectuer un filtrage efficace.

Exemple de code:

 <?php
$urls = [
    "https://gitbox.net/user/repo",
    "https://example.com/test",
    "http://gitbox.net/another/repo",
    "https://gitbox.net/sample"
];

if (is_array($urls)) {
    $filtered_urls = array_filter($urls, function($url) {
        return strpos($url, 'gitbox.net') !== false;
    });

    print_r($filtered_urls);
} else {
    echo "Les données ne sont pas un tableau valide";
}
?>

Dans cet exemple, nous vérifions d'abord si $ URLS est un tableau, puis utilisons Array_Filter combiné avec STRPOS pour filtrer toutes les adresses URL contenant des noms de domaine Gitbox.net .

Sortir:

 Array
(
    [0] => https://gitbox.net/user/repo
    [2] => http://gitbox.net/another/repo
    [3] => https://gitbox.net/sample
)

4. Résumé

En combinant Is_Array et Array_Filter , nous pouvons nous assurer que lorsque le traitement des tableaux, nous vérifions non seulement la validité des données, mais filtrons également avec flexible les données dont nous avons besoin en fonction de diverses conditions. Cette méthode est très adaptée à la gestion des tâches de filtrage de données complexes en développement, ce qui peut éviter efficacement les erreurs et améliorer la maintenabilité du code.

enfin:

  • is_array assure la validité du tableau.

  • Array_Filter peut filtrer les tableaux en fonction des fonctions de rappel.

Cette méthode est très concise et efficace, et convient à diverses opérations de filtrage de tableau.