Maison > Article > développement back-end > Comment déterminer si une chaîne est contenue dans un tableau en php
En PHP, nous avons souvent besoin de déterminer si une chaîne est contenue dans un tableau. Ce problème peut être difficile pour les débutants, mais la solution à ce problème est en réalité très simple. Dans cet article, nous présenterons plusieurs méthodes en PHP pour déterminer si une chaîne est contenue dans un tableau.
La fonction in_array est une fonction en PHP qui est utilisée pour déterminer si une valeur existe dans un tableau. La syntaxe de cette fonction est la suivante :
in_array($needle, $haystack, $strict)
Parmi eux, $needle représente la valeur à rechercher, $haystack représente le tableau à rechercher et $strict représente s'il faut utiliser mode strict pour rechercher. Si $strict est vrai, la fonction in_array compare également les types de données des variables pour vérifier leur égalité. Une valeur de retour true indique que la valeur a été trouvée, false indique qu'elle n'a pas été trouvée.
Voici un exemple simple :
$arr = array('apple', 'banana', 'orange'); if (in_array('banana', $arr)) { echo 'find it!'; } else { echo 'not found'; }
Le résultat en cours d'exécution est : trouvez-le !
La fonction Array_search est également une fonction utilisée pour trouver une valeur spécifiée dans un tableau. La syntaxe de cette fonction est la suivante :
array_search($needle, $haystack, $strict)
Parmi eux, $needle représente la valeur à rechercher, $haystack représente le tableau à rechercher et $strict représente s'il faut utiliser mode strict pour rechercher. Renvoie la position de la valeur dans le tableau, ou false si elle n'est pas trouvée.
Ce qui suit est un exemple simple :
$arr = array('apple', 'banana', 'orange'); $index = array_search('banana', $arr); if ($index !== false) { echo 'find it at index ' . $index; } else { echo 'not found'; }
Le résultat courant est : trouvez-le à l'index 1
Il convient de noter que la fonction array_search renvoie la position de la valeur dans le tableau, et non si la valeur existe. Par conséquent, vous devez utiliser $index !== false pour déterminer si la valeur existe.
Les expressions régulières sont un puissant outil de correspondance de chaînes et sont souvent utilisées pour traiter des chaînes en PHP. Si nous voulons déterminer si une chaîne est contenue dans un tableau, nous pouvons également utiliser des expressions régulières pour y parvenir.
Plus précisément, nous pouvons séparer tous les éléments du tableau avec des barres verticales (|), générer une expression régulière, puis utiliser la fonction preg_match pour faire correspondre la chaîne.
Ce qui suit est un exemple simple :
$arr = array('apple', 'banana', 'orange'); $regex = '/^(?:' . implode('|', $arr) . ')$/'; if (preg_match($regex, 'banana')) { echo 'find it!'; } else { echo 'not found'; }
Dans le code ci-dessus, la fonction imploser est utilisée pour séparer tous les éléments du tableau avec des barres verticales et générer une expression régulière. Nous utilisons ensuite la fonction preg_match pour faire correspondre la chaîne et renvoyer vrai si trouvé, sinon faux.
Il convient de noter que l'expression régulière que nous avons générée utilise les délimiteurs (^ et $) au début et à la fin, ce qui signifie que l'expression régulière ne peut correspondre qu'à la chaîne entière, pas à une partie de la chaîne. De cette façon, lors de la recherche si une chaîne est contenue dans un tableau, il n'y aura aucun cas tel que "raisin" soit mal jugé comme "framboise".
Conclusion
Avec les trois méthodes ci-dessus, nous pouvons facilement déterminer si une chaîne est contenue dans un tableau. L'utilisation directe des fonctions in_array et array_search est la méthode la plus simple, tandis que l'utilisation d'expressions régulières peut répondre à des besoins plus complexes. Dans le même temps, nous devons également prêter attention aux avantages et aux inconvénients des différentes méthodes et choisir la méthode qui nous convient pour résoudre le problème.
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!