Unterschied zwischen == und === in PHP
Unterschied zwischen == und === in PHP: seltsames Verhalten beim Vergleich von String und Zahl
Hallo zusammen! Ich bin neu in PHP und bin auf unerwartetes Verhalten der Vergleichsoperatoren gestoßen. Ich versuche, den Unterschied zwischen == (lose Gleichheit) und === (strenge Gleichheit) zu verstehen.
Ich habe einen einfachen Code:
$a = '123abc';\n$b = 123;\n\nvar_dump($a == $b); // Ergebnis: true\nvar_dump($a === $b); // Ergebnis: falseIch habe erwartet, dass beide Vergleiche false zurückgeben, weil die Typen unterschiedlich sind (String und Zahl). Aber == gibt true zurück. Warum passiert das? Ich habe gelesen, dass == Typen umwandelt, aber ich verstehe nicht, wie der String '123abc' gleich der Zahl 123 sein kann.
Was ich bereits versucht habe:
- Mit verschiedenen Strings getestet (z.B. 'abc123' — dort gab == false zurück)
- PHP-Dokumentation zu Operatoren gelesen
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen