Interroger des tableaux multidimensionnels avec in_array()
In_array() identifie sans effort la présence d'éléments dans un tableau unidimensionnel. Cependant, son application aux tableaux multidimensionnels présente un défi, rendant son utilité discutable. Pour résoudre ce problème, une fonction récursive peut être utilisée pour parcourir récursivement le tableau multidimensionnel et vérifier la présence de l'élément souhaité.
La fonction, bien nommée in_array_r(), prend trois paramètres : l'élément cible ($ Needle), le tableau à rechercher ($haystack) et un paramètre facultatif ($strict) qui dicte si l'égalité stricte (===) ou l'égalité assouplie (==) doit être utilisée dans le comparaison.
Le processus itératif de la fonction consiste à examiner chaque élément ($item) dans la botte de foin. Si l'élément correspond à l'élément cible par rapport à la méthode de comparaison spécifiée, la fonction renvoie vrai. Si l'élément est lui-même un tableau, la fonction s'appelle récursivement avec ce tableau comme nouvelle botte de foin, explorant ainsi d'autres niveaux de la structure multidimensionnelle.
La récursion continue jusqu'à ce que tous les éléments aient été inspectés ou jusqu'à ce que l'élément cible est découvert. Si l'élément reste insaisissable, la fonction renvoie false.
Pour démontrer sa fonctionnalité, considérons l'utilisation suivante :
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
Dans cet exemple, la fonction recherche la présence de "Irix" dans le tableau multidimensionnel $b. S'il est trouvé, il affiche « trouvé » ; sinon, il affiche "introuvable".
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!