Maison >développement back-end >tutoriel php >Comment puis-je vérifier efficacement si une chaîne contient un mot spécifique en PHP ?

Comment puis-je vérifier efficacement si une chaîne contient un mot spécifique en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 21:47:10223parcourir

How Can I Efficiently Check if a String Contains a Specific Word in PHP?

Vérification d'une chaîne pour un mot spécifique

La tâche consistant à vérifier si une chaîne contient un mot particulier est une opération courante en programmation. Considérez le code suivant :

$a = 'How are you?';

if ($a contains 'are')
    echo 'true';

Quelle est la bonne façon d'écrire l'instruction si ($a contient 'are') ?

Solution : fonction str_contains (PHP 8)

À partir de PHP 8, str_contains fournit un outil simple solution :

if (str_contains('How are you', 'are')) {
    echo 'true';
}

Cependant, il est important de noter que str_contains renvoie toujours true si la sous-chaîne à rechercher ($needle) est vide. Pour éviter cela, vérifiez que $needle n'est pas vide avant d'utiliser str_contains.

Alternatives (Pré-PHP 8)

Avant PHP 8, la fonction strpos() a été utilisé à cet effet :

$haystack = 'How are you?';
$needle = 'are';

if (strpos($haystack, $needle) !== false) {
    echo 'true';
}

Dans ce cas, strpos() renvoie la position de la $needle dans le $botte de foin, ou false s'il n'est pas trouvé. Cependant, utiliser !== false est nécessaire puisque 0 est une position valide et est également évaluée à falsey.

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