Maison  >  Article  >  développement back-end  >  Comment déterminer si un tableau existe dans une chaîne en php

Comment déterminer si un tableau existe dans une chaîne en php

PHPz
PHPzoriginal
2023-04-18 10:20:191355parcourir

En PHP, déterminer si un tableau existe dans une chaîne est un problème relativement courant. PHP fournit une variété de méthodes pour réaliser cette fonction, et cet article présentera certaines des méthodes les plus courantes.

Méthode 1 : Utiliser la fonction in_array

La fonction in_array est une fonction très couramment utilisée en PHP, utilisée pour déterminer si une valeur est dans un tableau. Nous pouvons convertir la chaîne en tableau, puis utiliser la fonction in_array pour déterminer si le tableau que nous devons trouver existe dans le tableau. L'exemple de code est le suivant :

$str = 'apple,banana,pear';
$arr = explode(',', $str);
if (in_array('banana', $arr)) {
    echo '存在';
} else {
    echo '不存在';
}

Description du code :

Tout d'abord, nous définissons une variable chaîne $str, qui contient trois noms de fruits séparés par des virgules. Divisez ensuite la chaîne $str dans le tableau $arr via la fonction d'explosion. Enfin, utilisez la fonction in_array pour déterminer si l'élément « banane » existe dans le tableau $arr. S'il existe, la sortie « existe », sinon la sortie « n'existe pas ».

Méthode 2 : Utiliser les fonctions strpos et exploser

Une autre méthode consiste à utiliser les fonctions strpos et exploser. La fonction strpos est utilisée pour rechercher la position d'une certaine sous-chaîne dans une chaîne si elle est trouvée, elle renvoie une valeur entière, sinon elle renvoie faux. Nous pouvons diviser la chaîne $str avec des virgules comme délimiteur, puis utiliser la fonction strpos pour déterminer si l'élément à trouver se trouve dans le tableau renvoyé. L'exemple de code est le suivant :

$str = 'apple,banana,pear';
if (strpos($str, 'banana') !== false) {
    echo '存在';
} else {
    echo '不存在';
}

Description du code :

Tout d'abord, nous définissons une variable chaîne $str, qui contient trois noms de fruits séparés par des virgules. Ensuite, utilisez la fonction strpos pour trouver la position de « banane » dans $str. Si elle est trouvée, elle renverra la position, sinon elle renverra false. Enfin, "!==" doit être utilisé pour juger à travers une expression conditionnelle, car la fonction strpos peut renvoyer 0, ce qui est faux, mais c'est significatif, et si vous utilisez "!=", cela deviendra vrai avec false.

Méthode 3 : Utiliser des expressions régulières

Si vous êtes familier avec les expressions régulières et avez certaines exigences de performances, utiliser des expressions régulières pour déterminer si un tableau existe dans une chaîne est un bon choix. Nous pouvons convertir le tableau que nous devons trouver en expression régulière, puis utiliser la fonction preg_match pour faire la correspondance. Si la correspondance réussit, elle renverra vrai, sinon elle renverra faux. L'exemple de code est le suivant :

$str = 'apple,banana,pear';
if (preg_match('/banana/', $str)) {
    echo '存在';
} else {
    echo '不存在';
}

Description du code :

Définissez d'abord la variable de chaîne $str, puis utilisez la fonction preg_match pour déterminer si la chaîne « banane » existe dans la variable $str. S'il existe, la sortie « existe », sinon la sortie « n'existe pas ».

Résumé

Cet article explique comment déterminer si un tableau existe dans une chaîne en PHP, y compris trois méthodes courantes. La méthode spécifique à choisir dépend de la situation réelle. De manière générale, les fonctions in_array, strpos et explosive ont de meilleures performances et une meilleure lisibilité, tandis que les expressions régulières sont plus adaptées à une utilisation dans des programmes avancés.

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