Ich vermute mal, dass PHP erkennt, das du eine Zahl mit einem String vergleichen willst und daher den String in eine Zahl umwandeln will, weil es aber keine Zahl ist kommt 0 raus und schon ist wieder beides das gleiche...
Hast du schon einmal versucht === (3 Gleichheitszeichen) zu nutzen? Weil laut Referenz soll das ja einen genaueren Vergleich bieten (wo eben nicht konvertiert ist). Habe ich aber selbst noch nie verwendet, kann also nicht garantieren, dass das funktioniert.
Warum willst du unbedingt so überprüfen ob es eine Zahl ist? Es gibt eine Funktion is_numeric() wäre die nicht vielleicht besser geeignet?



Zitieren
