Ich bin wirklich verwirrt, warum diese Operation funktioniert. Kann es jemand erklären?Vergleichen von String zu Integer gibt seltsame Ergebnisse
$test1 = "d85d1d81b25614a3504a3d5601a9cb2e";
$test2 = "3581169b064f71be1630b321d3ca318f";
if ($test1 == 0)
echo "Test 1 is Equal!?";
if ($test2 == 0)
echo "Test 2 is Equal!?";
// Returns: Test 1 is Equal!?
Zur Klarstellung Ich versuche, die Zeichenfolge "0"
die $test
Variablen zu vergleichen. Ich weiß bereits, um den Code zu beheben, den ich (wie ich sollte) einfach die 0
in ""
s
Ich frage mich, ob dies ein PHP-Fehler ist, ein Server-Fehler oder irgendwie eine gültige Operation. Nach http://us3.php.net/types.comparisons sollte diese nicht haben gearbeitet.
Bearbeiten: Scratch, dass es offensichtlich erwähnt, dass Lose Vergleiche zwischen Zeichenfolge und 0 ist wahr. Aber ich weiß immer noch nicht warum.
Bearbeiten 2: Ich habe meine Frage überarbeitet, warum funktioniert der $test2
Wert von "3581169b064f71be1630b321d3ca318f"
nicht?
welcher $ Testwert funktioniert nicht? –
Wenn Sie den Code ausführen, gibt es nur aus: Test 1 ist gleich!? –
echo (int) $ test2; – OIS