J'ai une chaîne comme ceci: $str1 = "mod 1 + mode 2 + comp 1 + toto"
. Je voudrais tester si mod 1
est en $str1
. J'ai utilisé strpos
mais cette fonction n'aide pas.Recherche d'une chaîne dans une autre chaîne
Répondre
strpos
renvoie la position de l'apparition dans la chaîne commençant par 0 ou faux autrement. En utilisant simplement une conversion booléenne comme dans ce qui suit est une erreur commune:
$str1 = "mod 1 + mode 2 + comp 1 + toto";
if (strpos($str, "mod 1")) {
// found
}
Parce que dans ce cas strpos
retournera 0. Mais 0 converti en booléenne est fausse :
var_dump((bool) 0 === false); // bool(true)
Alors vous avez besoin à utiliser une comparaison stricte:
$str1 = "mod 1 + mode 2 + comp 1 + toto";
if (strpos($str, "mod 1") !== false) {
// found
}
C'est aussi ce que la documentation conseille:
Avertissement Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur non booléenne qui évalue à FALSE, comme 0 ou « ». Veuillez lire la section sur Booleans pour plus d'informations. Utilisez le
===
operator pour tester la valeur de retour de cette fonction.
Oui, je vois, mais l'utilisation de cela, retourne toujours faux! Je vais essayer encore et posterai merci les gars – Mamadou
Vous pouvez utiliser la fonction strstr.
$str1 = "mod 1 + mode 2 + comp 1 + toto";
$str2 = "mod 1";
if(strstr($str1,$str2) !== false)
echo "Found $str2 in $str1\n";
if(stripos($str,'mod 1')!==false) $hasmod1 = true;
else $hasmod1 = false;
soins pour la !==
c'est la partie importante.
- 1. Recherche d'une chaîne dans une autre chaîne
- 2. Trouver une chaîne dans une autre chaîne, recherche vers
- 3. Recherche d'une sous-chaîne dans une autre chaîne
- 4. Insérer une chaîne dans une autre chaîne
- 5. Préfixer une chaîne à une autre chaîne
- 6. Comment comparer une chaîne dans une autre chaîne?
- 7. C# obtenir une chaîne dans une autre chaîne
- 8. Comment analyser une chaîne entre guillemets dans une autre chaîne?
- 9. Comment insérer une chaîne dans une autre chaîne?
- 10. Centrage d'une chaîne sur une autre chaîne
- 11. PHP: recherche sous-chaîne dans une chaîne en utilisant preg_match?
- 12. Chaîne mysql contenue dans une chaîne de recherche
- 13. trouver la position d'une chaîne dans une autre chaîne
- 14. Recherche de caractères indésirables dans une chaîne
- 15. Recherche d'un caractère dans une chaîne
- 16. Recherche de jetons dans une chaîne Java
- 17. ajoutant une chaîne de caractères à une autre chaîne
- 18. expressions régulières - tester si une chaîne contient une autre chaîne
- 19. Comment diviser une chaîne et trouver l'occurrence d'une chaîne dans une autre chaîne?
- 20. Trouver une chaîne dans une chaîne
- 21. recherche de chaîne unicode
- 22. vb.net la recherche d'une recherche dans une chaîne
- 23. Chaîne de recherche pour la sous-chaîne
- 24. Objective-C: Insérer une chaîne dans une autre chaîne dans une certaine plage
- 25. Formatage d'une chaîne de date lorsque la chaîne se trouve dans une autre chaîne
- 26. recherche chaîne unicode
- 27. Java recherche d'une chaîne
- 28. Remplacer une chaîne par une autre
- 29. La chaîne SQLite contient une autre requête de chaîne
- 30. PHP - Retirez une partie de chaîne d'une autre chaîne
Mais "mod 1 + mode 2 + comp 1 + toto" 'ne contient pas vraiment" "mod 1" '(notez les espaces). – kennytm