PHP 0 == 'a' => true?

Yuuri

Fleet Admiral
Registriert
Okt. 2010
Beiträge
13.930
Hallo zusammen,

kurze Frage:

Warum ergibt
Code:
var_dump(
0 == 'a',
0 == 'b',
0 == 'c',
0 == 'd',
0 == 'e',
0 == 'f',
0 == 'g',
0 == 'h'
);
überall true? :) Ist das wieder so ein netter PHP Bug?


LG
 
weil ein cast von 'a' eben 0 ergibt:

(int) 'a' => 0

du müsstest ord('a') benutzen, um den ascii wert zu erhalten.

übrigens gibts für deinen fall den === operator.
 
Ach Gott, automatisches Casting auf 0... Daran hätte man auch denken können. Faszinierend über was man immer wieder stolpert. :D Ja ich weiß dass es === gibt, ist bei meinem Weg aber gerade schlecht realisierbar.
 
Zurück
Oben