Chris (C): Prüfung auf Gleichheit bzw. preg_match

Beitrag lesen

Hallo Romy,

also nochmal zum Thema.

Die automatische Typbestimmung von implizit deklarierenden Sprachen arbeitet eigentlich immer nach der Methode "Der linke bestimmt den Typ". Also der Zieldatentyp bestimmt den Typ der gesamten Gleichung.

0 == "hallo" ist also wahr, denn 0 ist ein Skalar und der numerische Wert von "hallo" ist 0. Wenn Du schreiben würdest
0 == "7hallo", dann wärte das nicht wahr, denn der numerische Wert von "7hallo" ist 7.

Es empfiehlt sich daher, den Vergleich einfach umzudrehen oder eben auf Identität (===)  zu prüfen.

"hallo" == 0  ergibt falsch, denn der Zieldatentyp ist jetzt ein String und der ist nicht gleich "0" (Bedenke: die 0 wird automatsich in Typ String, also in "0" umgewandelt vor dem Vergleich)

Ich hoffe, dass Dir das weiterhilft.

Grüße

Chris (C)