Maison  >  Article  >  développement back-end  >  Introduction à l'utilisation de la fonction array_filter() de PHP

Introduction à l'utilisation de la fonction array_filter() de PHP

王林
王林original
2023-06-27 11:50:453397parcourir

En programmation PHP, le tableau est un type de données très courant. Le filtrage et le filtrage des tableaux sont l'une des opérations courantes. A ce stade, vous pouvez utiliser la fonction de tableau array_filter() fournie par PHP. Cet article présentera et démontrera l'utilisation de cette fonction.

1. Utilisation de base de la fonction array_filter()

La fonction de la fonction array_filter() est de filtrer et de filtrer le tableau. La syntaxe de base est la suivante :

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

Parmi eux, le paramètre $array est le tableau à filtrer et à filtrer ; le paramètre $callback est un paramètre facultatif, utilisé pour spécifier une fonction de rappel pour juger chaque élément du tableau, et les éléments qui remplissent les conditions seront conservés, et les éléments qui ne remplissent pas les conditions seront supprimés ; le paramètre $flag est également un paramètre facultatif, utilisé pour spécifier les règles de la méthode de filtrage. Il y a quatre règles au total, à savoir. :

  • ARRAY_FILTER_USE_KEY - Spécifiez l'utilisation de noms de clés pour le filtrage et le filtrage ;
  • ARRAY_FILTER_USE_BOTH - spécifie l'utilisation de noms de clés et de valeurs de clés pour le filtrage et le filtrage ; filtrage et filtrage ;
  • 0 - spécifie l'utilisation de valeurs clés pour le filtrage et le filtrage (option par défaut).
  • Ensuite, nous présenterons les paramètres en détail.

2. Explication détaillée du paramètre $array

Ce paramètre est un paramètre obligatoire et représente le tableau à filtrer et à filtrer. L'utilisation spécifique est la suivante :

$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr);
print_r($newArr); //输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

Dans l'exemple ci-dessus, $arr est le tableau d'origine à filtrer et filtrer, et $newArr est le nouveau tableau obtenu après traitement par la fonction array_filter(). Si le paramètre $callback n'est pas transmis, tous les éléments non « faux » de $array seront conservés et le résultat de sortie sera cohérent avec le tableau d'origine.

3. Explication détaillée du paramètre $callback

Le paramètre $callback est facultatif Si ce paramètre n'est pas spécifié, la fonction utilisera les règles de filtrage et de filtrage suivantes par défaut :

Conserve tous les non-"false". " éléments dans $array ;
  • Supprimez tous les "faux" éléments dans $array ;
  • Réorganisez les éléments conservés et renvoyez un nouveau tableau.
  • Si le paramètre $callback est spécifié, $callback doit être une fonction de rappel utilisée pour déterminer si chaque élément du tableau répond aux exigences de filtrage ou de filtrage.

La fonction de rappel doit accepter un paramètre, qui est l'élément à traiter, puis renvoyer une valeur si la valeur renvoyée est "true", cela signifie que l'élément répond aux exigences et doit être conservé. Si la valeur renvoyée est « false », cela signifie que l'élément ne répond pas aux exigences et doit être supprimé.

La syntaxe de base de la fonction de rappel est la suivante :

function callback_function($element) {
   // 进行一些处理,然后返回true或false
}

Ce qui suit est un exemple :

$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr, function($element) {
   return $element > 2;
});
print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )

Dans l'exemple ci-dessus, nous transmettons une fonction de rappel, qui est utilisée pour déterminer si chaque élément du tableau est supérieur que 2. Si oui, conservez l'élément, sinon supprimez l'élément. Après traitement, seuls les éléments 3, 4 et 5 sont conservés.

4. Explication détaillée du paramètre $flag

Le paramètre $flag est également un paramètre facultatif, utilisé pour spécifier les règles de la méthode de filtrage. Si ce paramètre n'est pas précisé, la règle "filtrage clé-valeur" est utilisée par défaut. Voici quatre règles :

$flag = ARRAY_FILTER_USE_KEY
  1. Utilisez les noms de clés pour filtrer et filtrer. Voici un exemple :
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);
$newArr = array_filter($arr, function($key) {
   return $key == 'a' || $key == 'c';
}, ARRAY_FILTER_USE_KEY);
print_r($newArr); //输出:Array ( [a] => 1 [c] => 3 )

Dans l'exemple ci-dessus, le paramètre $flag est défini sur ARRAY_FILTER_USE_KEY, ce qui signifie que seul le nom de la clé est utilisé pour le filtrage et le filtrage. La fonction de rappel peut conserver les éléments portant les noms de clé « a » et « c » et renvoyer un nouveau tableau.

$flag = ARRAY_FILTER_USE_BOTH
  1. Utilisez le nom de la clé et la valeur de la clé pour filtrer et filtrer. Voici un exemple :
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);
$newArr = array_filter($arr, function($key, $value) {
   return $key == 'a' && $value == 1;
}, ARRAY_FILTER_USE_BOTH);
print_r($newArr); //输出:Array ( [a] => 1 )

Dans l'exemple ci-dessus, le paramètre $flag est défini sur ARRAY_FILTER_USE_BOTH, ce qui signifie que les noms de clé et les valeurs de clé sont utilisés pour le filtrage et le filtrage. La fonction de rappel peut conserver l'élément avec le nom de clé "a" et la valeur de clé 1, et renvoyer un nouveau tableau.

$flag = ARRAY_FILTER_USE_VALUE
  1. Utilisez la valeur clé pour le filtrage et le filtrage. Voici un exemple :
$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr, function($value) {
   return $value % 2 == 0;
}, ARRAY_FILTER_USE_VALUE);
print_r($newArr); //输出:Array ( [1] => 2 [3] => 4 )

Dans l'exemple ci-dessus, le paramètre $flag est défini sur ARRAY_FILTER_USE_VALUE, ce qui signifie que seules les valeurs clés sont utilisées pour le filtrage et le filtrage. La fonction de rappel peut conserver les éléments pairs et renvoyer un nouveau tableau.

$flag = 0
  1. Spécifiez l'utilisation de la valeur clé pour le filtrage et le filtrage (option par défaut). Voici un exemple :
$arr = array(1, 2, 3, 4, 5);
$newArr = array_filter($arr, function($value) {
   return $value > 2;
});
print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )

Dans l'exemple ci-dessus, le paramètre $flag n'est pas défini, ce qui signifie que les valeurs clés sont utilisées pour le filtrage et le filtrage par défaut. La fonction de rappel peut conserver les éléments supérieurs à 2 et renvoyer un nouveau tableau.

5. Résumé

La fonction array_filter() est une fonction de tableau très courante et pratique en PHP, qui peut être utilisée pour filtrer et filtrer des tableaux. Cet article fournit une introduction détaillée et une démonstration de l'utilisation de base et de l'explication des paramètres de cette fonction. J'espère qu'en étudiant cet article, vous maîtriserez les principes de base et l'utilisation de cette fonction et pourrez l'utiliser de manière flexible dans la programmation réelle.

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!

Déclaration:
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