Zitat:
Original geschrieben von chri91
eigentlich wäre es dann sinnvoll bei jeder if-abfrage, die zwei gleiche sachen vergleicht den === operator zu nehmen
|
du vergleichst aber einen int mit einem string. php nimmt automatisch eine typumwandlung vor, aus string 'ein String' wird int 0 und daher ergibt == true.
wenn du in deinem beispiel mal $i = 0; zu $i = '0'; änderst, ergibt der vergleich nicht mehr true, da jetzt zwei strings verglichen werden.
so, um die verwirrung jetzt perfekt zu machen, ein int-casting eines strings ergibt nicht immer 0, bsp.: echo (int)'42 ein String'; ergibt int 42 und nicht 0.
joh, das sind so die eigenarten von php, die man erstmal kennen muss

daher liegst du mit === eigentlich nie falsch.