Maison > Article > développement back-end > PHP détermine si une chaîne est contenue dans un tableau
Dans le développement PHP, nous devons parfois déterminer si une chaîne contient un élément dans un tableau. Ceci est très utile pour le traitement et la manipulation des données, car cela détermine efficacement et rapidement si les données répondent aux critères. Cet article explique comment utiliser PHP pour déterminer si une chaîne contient des éléments dans un tableau.
1. Utilisez la fonction in_array()
PHP fournit la fonction in_array() pour déterminer si une valeur est dans un tableau. Nous pouvons donc utiliser la fonction in_array() pour déterminer si une chaîne est dans un tableau. La syntaxe est la suivante :
bool in_array(mixed $needle, array $haystack [, bool $strict = FALSE ])
Parmi eux, $needle est la valeur à trouver $haystack est le tableau d'index $strict ; spécifie s'il faut utiliser le mode strict (c'est-à-dire que non seulement les valeurs doivent être égales, mais que les types doivent également être égaux). La valeur de retour est TRUE indiquant que la recherche a été trouvée, sinon false est renvoyé.
Ensuite, il nous suffit de juger si la chaîne cible est contenue dans le tableau via une boucle. L'exemple de code est le suivant :
$arr = array('apple', 'orange', 'banana', 'pear'); $str = 'I like apples'; foreach ($arr as $val) { if (strpos($str, $val) !== false) { echo "包含$val"; } else { echo "不包含$val"; } }
Ce code définit d'abord un tableau $arr et une chaîne $str. Ensuite, via une boucle, il est déterminé si chaque élément du tableau apparaît dans la chaîne. Si elle est incluse, affichez les informations correspondantes, sinon affichez les informations non incluses.
2. Utilisez la fonction preg_match()
Si vous souhaitez implémenter des opérations de correspondance de chaînes plus complexes, vous devez utiliser des expressions régulières. En PHP, nous pouvons utiliser la fonction preg_match() pour vérifier si une chaîne correspond à une certaine règle. La syntaxe de cette fonction est la suivante :
int preg_match(string $pattern, string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]])
where, $ pattern signifie Expression régulière à correspondre ; $subject représente la chaîne qui doit être mise en correspondance ; $matches est un paramètre facultatif utilisé pour stocker les résultats correspondants ; $flags représente les options de correspondance, par exemple si elle est sensible à la casse ; le décalage de départ du montant du décalage de match.
Voici un exemple de code :
$arr = array('/apple/', '/orange/', '/banana/', '/pear/'); $str = 'I like apples'; foreach ($arr as $val) { if (preg_match($val, $str)) { echo "包含$val"; } else { echo "不包含$val"; } }
Ce code fonctionne de manière similaire au code précédent, sauf qu'il utilise des expressions régulières pour l'opération de correspondance. Il convient de noter qu'une barre oblique (/) est requise dans l'expression régulière pour indiquer le début et la fin.
Résumé :
Cet article présente deux méthodes pour déterminer si une chaîne contient des éléments dans un tableau. La fonction in_array() convient à une correspondance de chaînes simple, tandis que la fonction preg_match() peut implémenter une correspondance multi-modèles plus complexe. Dans le processus de développement réel, vous pouvez choisir la méthode correspondante pour implémenter les opérations de correspondance de chaînes en fonction de besoins spécifiques.
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!