Maison > développement back-end > tutoriel php > Pourquoi comparer une chaîne à 0 en PHP produit-il des résultats inattendus ?

Pourquoi comparer une chaîne à 0 en PHP produit-il des résultats inattendus ?

Barbara Streisand
Libérer: 2024-12-07 11:44:11
original
150 Les gens l'ont consulté

Why Does Comparing a String to 0 in PHP Produce Unexpected Results?

Résultats de comparaison d'une chaîne étrange à un entier

Lors de la comparaison d'une chaîne à un entier, des résultats inattendus peuvent se produire en raison des règles de coercition de type de PHP. Dans l'exemple fourni :

$test1 = "d85d1d81b25614a3504a3d5601a9cb2e";
$test2 = "3581169b064f71be1630b321d3ca318f";

if ($test1 == 0)
  echo "Test 1 is Equal!?";
if ($test2 == 0)
  echo "Test 2 is Equal!?";
Copier après la connexion

Le test 1 réussit car la chaîne "d85d1d81..." ne contient aucune donnée numérique valide, elle est donc interprétée comme 0.

Cependant, le test 2 échoue car la chaîne "3581169b..." contient des données numériques valides (le "3581169" initial). Selon les règles de conversion de PHP, cette partie initiale est utilisée pour déterminer la valeur numérique, qui n'est pas 0.

Le manuel PHP explique que les chaînes sont évaluées comme suit :

  • S'il contient '.', 'e' ou 'E', c'est un flottant.
  • Sinon, c'est un entier.
  • S'il commence par des données numériques valides, c'est la valeur.
  • Sinon, la valeur est 0.

Dans le cas de $test2 , le "3581169" initial est une donnée numérique valide, donc la valeur n'est pas 0 et la comparaison échoue.

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