Maison > développement back-end > tutoriel php > Comment puis-je vérifier efficacement plusieurs sous-chaînes dans une chaîne PHP ?

Comment puis-je vérifier efficacement plusieurs sous-chaînes dans une chaîne PHP ?

Linda Hamilton
Libérer: 2024-11-27 13:17:16
original
825 Les gens l'ont consulté

How Can I Efficiently Check for Multiple Substrings in a PHP String?

Recherche de plusieurs sous-chaînes à l'aide de strpos et de tableaux

En PHP, strpos est une fonction couramment utilisée pour rechercher la première occurrence d'une sous-chaîne dans une chaîne donnée. Bien qu'il soit capable de trouver une seule sous-chaîne, il peut y avoir des situations dans lesquelles vous devrez rechercher plusieurs sous-chaînes simultanément.

Dans votre exemple spécifique, vous souhaitez vérifier si tous les éléments du tableau $find_letters existent dans la variable $string. Cependant, transmettre directement un tableau comme aiguille à strpos ne fonctionnera pas car il attend une valeur unique.

Pour résoudre ce problème, vous pouvez utiliser une fonction personnalisée qui effectue la tâche dont vous avez besoin. Voici une version mise à jour de la fonction fournie comme réponse :

function strposa(string $haystack, array $needles, int $offset = 0): bool
{
    foreach ($needles as $needle) {
        if (strpos($haystack, $needle, $offset) !== false) {
            return true; // Stop on the first true result
        }
    }

    return false;
}
Copier après la connexion

Dans cette fonction, nous parcourons chaque élément du tableau $needles. Pour chaque élément, nous utilisons strpos pour vérifier s'il existe dans la chaîne $haystack, en commençant à la position $offset spécifiée. Si l'un des éléments correspond, nous renvoyons true immédiatement, indiquant que la recherche est réussie.

Exemple d'utilisation :

$string = 'This string contains word "cheese" and "tea".';
$array = ['burger', 'melon', 'cheese', 'milk'];

if (strposa($string, $array)) {
    echo 'true';
} else {
    echo 'false';
}
Copier après la connexion

Sortie :

true
Copier après la connexion

Dans ce Par exemple, la fonction renvoie vrai car la chaîne contient l'un des éléments du tableau, à savoir "cheese".

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal