Recherche d'éléments de tableau dans une chaîne (insensible à la casse)
Dans divers scénarios de programmation, il peut être nécessaire de déterminer si une chaîne donnée contient l’un des éléments spécifiés dans un tableau. Cette tâche peut être particulièrement difficile lorsque l'insensibilité à la casse est requise.
Pour résoudre ce problème, nous pouvons exploiter une fonction PHP personnalisée nommée contain(). Cette fonction vérifie efficacement si une chaîne ($str) contient l'un des éléments ($arr) présents dans un tableau :
function contains($str, array $arr) { foreach($arr as $a) { if (stripos($str,$a) !== false) return true; } return false; }
La fonction stripos() utilisée dans la boucle effectue une recherche insensible à la casse pour l'élément du tableau dans la chaîne. Si une correspondance est trouvée, la fonction renvoie true ; sinon, il renvoie false, indiquant que la chaîne ne contient aucun des éléments de tableau spécifiés.
Par exemple, considérons l'extrait de code suivant :
$string = 'My nAmE is Tom.'; $array = array("name","tom"); if(contains($string,$array)) { // The string contains at least one element from the array, so do something. }
La fonction contain() parcourt chaque élément du tableau, en effectuant une recherche insensible à la casse. Dans cet exemple, la chaîne contient l'élément « nom » qui satisfait à la condition. En conséquence, l'instruction if sera exécutée et toute action souhaitée pourra être effectuée.
En utilisant cette fonction personnalisée, les programmeurs peuvent déterminer efficacement si une chaîne contient des éléments d'un tableau, quelle que soit la sensibilité à la casse.
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!