Maison >développement back-end >tutoriel php >Utilisez la fonction str_contains() en PHP8 pour obtenir une correspondance rapide des chaînes

Utilisez la fonction str_contains() en PHP8 pour obtenir une correspondance rapide des chaînes

王林
王林original
2023-05-17 18:31:361818parcourir

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 :

  1. Code plus concis
    En utilisant la fonction str_contains(), une seule ligne de code est nécessaire pour terminer la tâche de correspondance de chaîne. Par exemple :

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.

  1. Code plus intuitif
    La dénomination de la fonction str_contains() est très intuitive et son utilisation est plus conforme aux habitudes naturelles des programmeurs. Par rapport à d'autres fonctions, les développeurs utilisant cette fonction n'ont pas besoin de lire le document de fonction pour trouver les valeurs de paramètres appropriées, et elle est plus reconnaissable lorsqu'elle est utilisée directement.
  2. Performances plus élevées
    Après les tests, les performances de la fonction str_contains() sont comparables, voire meilleures, à celles de la fonction de correspondance de chaîne précédente. Dans le cas de gros volumes de données, la fonction str_contains() peut fournir une vitesse de correspondance plus rapide car son implémentation interne utilise un algorithme plus efficace.

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!

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