Avec le développement d'Internet, le traitement des chaînes est devenu une tâche courante en programmation. Pour résoudre le problème de la correspondance des chaînes, PHP8 a introduit une nouvelle fonction str_contains(), qui peut rapidement renvoyer si une chaîne contient une chaîne spécifiée. Cette fonction sera un outil très utile pour les développeurs qui doivent effectuer fréquemment des correspondances de chaînes.
1. Utilisation de base de la fonction str_contains()
La fonction str_contains() est utilisée pour déterminer si une chaîne contient une chaîne spécifiée :
bool str_contains( string $haystack , string $needle )
where, $haystack représente la chaîne d'origine et $needle représente la chaîne à détecter. Si la chaîne d'origine contient la chaîne spécifiée, la fonction renvoie vrai, sinon elle renvoie faux.
Voici quelques exemples :
Exemple 1 :
$str1 = "Hello World!";
if (str_contains($str1, "World")) {
echo "The string contains the word 'World'";
} else {
echo "The string does not contain the word 'World'";
}
Le Dans l'exemple, $haystack est "Hello World!" et $needle est "World". Puisque $haystack contient $needle, la fonction retournera true et affichera la chaîne "La chaîne contient le mot 'World'".
Exemple 2 :
$str2 = "Hello World!";
if (str_contains($str2, "Universe")) {
echo "The string contains the word 'Universe'";
} else {
echo "The string does not contain the word 'Universe'";
}
$botte de foin dans cet exemple est " Bonjour Monde!", $needle est "Univers". Puisque $haystack ne contient pas $needle, la fonction retournera false et affichera la chaîne "La chaîne ne contient pas le mot 'Univers'".
2. Avantages de la fonction str_contains()
Auparavant, PHP disposait déjà des fonctions strstr() et strpos(), qui servent à rechercher des sous-chaînes dans des chaînes et à renvoyer leurs positions. Cependant, la fonction str_contains() présente les avantages suivants :
if (str_contains($str, "needle")) {
// Code to execute if the string contains "needle"
}
En comparaison, lorsque vous utilisez la fonction strstr() ou strpos(), vous devez effectuer un jugement conditionnel if au retour valeur. Ensuite, il peut être déterminé si la correspondance est réussie.
3. Comment migrer le projet pour utiliser la fonction str_contains()
Si vous souhaitez utiliser la fonction str_contains() dans votre projet, vous devez vous assurer que la version PHP a été mise à niveau vers 8.0 ou supérieure. Une fois la mise à niveau terminée, vous devez modifier les emplacements de votre projet où les fonctions strstr() ou strpos() sont utilisées.
Tout d'abord, vous devez choisir l'emplacement qui doit être mis à jour en fonction de la situation réelle du projet. Si vous devez utiliser la fonction dans une grande quantité de code, vous pouvez utiliser la fonction de recherche et de remplacement pour modifier l'ancien appel de fonction par le nouvel appel de fonction.
Par exemple, changez l'appel de la fonction $strstr() :
if (strstr($haystack, $needle)) {
// ...
}
par l'appel de la fonction $str_contains() :
if (str_contains($ haystack, $needle)) {
// ...
}
De cette façon, votre projet peut commencer à utiliser la fonction str_contains().
4. Conclusion
La fonction str_contains() est l'une des fonctions de correspondance de chaînes introduites dans PHP8. Elle a de meilleures performances et est plus concise et claire à utiliser. Si vous utilisez toujours la fonction strstr() ou strpos(), il est recommandé de migrer activement vers la fonction str_contains() si nécessaire.
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!