Avec le développement et les progrès de la technologie Internet, PHP, en tant que langage de script très populaire, est largement utilisé dans le développement Web. Dans le développement PHP, l'application de tableaux est également très courante. Dans le développement réel, nous rencontrons souvent des situations dans lesquelles nous devons déterminer si un tableau existe dans une chaîne. Ainsi, cet article présentera spécifiquement comment déterminer si un tableau existe dans une chaîne en PHP.
1. Comment utiliser la fonction in_array en PHP
En PHP, une méthode courante pour déterminer si un tableau existe dans un autre tableau consiste à utiliser la fonction in_array(). La fonction in_array() est utilisée pour déterminer si une valeur est dans le tableau. Elle renvoie vrai si elle existe et faux si elle n'existe pas. Sa structure syntaxique de base est la suivante :
in_array(value, array, bool)
où value représente la valeur à trouver, array représente le tableau à trouver et bool représente s'il faut utiliser le mode strict, c'est-à-dire si pour considérer le type. Le paramètre bool est par défaut false, ce qui signifie que le type est ignoré. Si bool est défini sur true, les types de valeur et de tableau doivent correspondre strictement.
Ensuite, nous pouvons utiliser la fonction in_array() pour déterminer si un tableau existe dans une chaîne. Le code de base est le suivant :
$arr = array("apple", "banana", "cherry");
$str = "J'aime la tarte aux pommes.";
if (in_array($arr, $str)) {
echo "Match found.";
} else {
echo "Match not found.";
}
où, le tableau $arr représente le tableau à trouver , $str Représente la chaîne à trouver. Si un membre du tableau $arr est trouvé dans la chaîne $str, alors « Match trouvé » est renvoyé, sinon « Match non trouvé » est renvoyé.
2. Comment utiliser la fonction strpos() en PHP
En plus de la fonction in_array(), il existe également la fonction de chaîne strpos() en PHP qui peut être utilisée pour déterminer si un tableau existe dans une chaîne. La fonction strpos() est utilisée pour rechercher un caractère ou une chaîne spécifié dans une chaîne. Sa structure syntaxique de base est la suivante :
strpos(haystack, Needle, Offset)
Où, Haystack représente la chaîne dans laquelle Needle se trouve, Needle représente la chaîne à trouver et Offset représente la position où commence la recherche. Si l'aiguille n'est pas trouvée, renvoie false ; sinon, renvoie la position du caractère ou de la sous-chaîne dans la botte de foin.
Ensuite, nous pouvons utiliser la fonction strpos() pour déterminer si un tableau existe dans une chaîne. Le code de base est le suivant :
$arr = array("apple", "banana", "cherry");
$str = "J'aime la tarte aux pommes.";
foreach ($arr as $fruit) {
if (strpos($str, $fruit) !== false) { echo "Match found."; break; }
}
Parmi eux, le tableau $arr représente le tableau à trouver, et $str représente la chaîne à trouver être trouvé. Utilisez une boucle foreach pour parcourir chaque membre du tableau $arr, utilisez la fonction strpos() dans la boucle pour savoir si chaque membre est dans la chaîne $str, s'il est trouvé, renvoyez "Match found" et terminez la boucle. sinon, continuez Loop jusqu'à ce que vous le trouviez.
3. Comparaison des deux méthodes
Bien que la fonction in_array() et la fonction strpos() puissent être utilisées pour déterminer si un tableau existe dans une chaîne, il existe encore quelques différences entre elles. Nous comparons les différences entre les deux sous les aspects suivants.
1. L'utilisation est différente des paramètres
Les paramètres de la fonction in_array() incluent la valeur et le tableau à trouver, tandis que les paramètres de la fonction strpos() incluent la chaîne et la sous-chaîne à trouver. Plus précisément, la fonction in_array() est similaire à la fonction array, tandis que la fonction strpos() est une fonction chaîne.
2. La sensibilité à la casse des tableaux et des chaînes est différente
La fonction in_array() est insensible à la casse par défaut, tandis que la fonction strpos() est sensible à la casse. Si vous souhaitez définir la sensibilité à la casse dans la fonction in_array(), vous devez définir son troisième paramètre sur true.
3. Plusieurs situations de correspondance sont gérées différemment
Si plusieurs correspondances sont trouvées dans la chaîne, la fonction strpos() renvoie uniquement la position de la première correspondance, tandis que la fonction in_array() peut renvoyer plusieurs correspondances.
4. Conclusion
Cet article présente principalement deux méthodes en PHP pour déterminer si un tableau existe dans une chaîne : la fonction in_array() et la fonction strpos(). Bien que ces deux méthodes aient leurs propres avantages et limites, elles peuvent être utilisées de manière flexible dans le développement réel et la méthode appropriée peut être sélectionnée en fonction de scénarios spécifiques. Quelle que soit la méthode utilisée, tant qu'elle peut aider les développeurs à implémenter efficacement les fonctions, c'est une bonne méthode.
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!