Maison > développement back-end > tutoriel php > Pourquoi la vérification de `strpos()` avec `!== false` échoue-t-elle pour les chaînes commençant à la position zéro ?

Pourquoi la vérification de `strpos()` avec `!== false` échoue-t-elle pour les chaînes commençant à la position zéro ?

Linda Hamilton
Libérer: 2024-12-16 10:42:12
original
348 Les gens l'ont consulté

Why Does Checking `strpos()` with `!== false` Fail for Strings Starting at Position Zero?

Une vérification vague de la valeur de retour strpos() donne des résultats inattendus

En essayant de localiser les occurrences de chaîne dans une autre chaîne, vous pouvez rencontrer des divergences lors de l'utilisation la fonction strpos(). Le comportement prévu consistant à vérifier si deux chaînes sont présentes et à s'assurer que la première précède la seconde en utilisant !== false peut donner des résultats inattendus.

Comme indiqué dans le manuel PHP, strpos() renvoie false lorsqu'une chaîne n'est pas présente. trouvé. Cependant, lorsqu'une chaîne commence à la position zéro (ce qui donne une valeur de retour strpos() de 0), l'instruction strpos($grafik['data'], $ss1) !== false peut être évaluée comme fausse.

Pour rectifier cela, remplacez le !== false par === 0 dans votre code. Cette modification garantit que l'instruction est évaluée à true lorsque strpos() renvoie 0, indiquant que la chaîne est présente au début de la chaîne désignée.

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