Mailinglisten-Archive |
Ralf Müller schrieb: > Hallo zusammen, > > mir ist folgendes aufgefallen: > > Aus: > > $v1 = NULL; $v2 = 0; $v3 = ''; > echo ( $v1 == $v2 ) ? '|v1 == v2|' : '|v1 != v2|'; > echo ( $v1 == $v3 ) ? '|v1 == v3|' : '|v1 != v3|'; > echo ( isset($v1) ) ? '| v1 set| ' : '|v1 unset| '; > echo ( isset($v2) ) ? '| v2 set| ' : '|v2 unset| '; > > ergibt sich, dass eine Variable, die nicht gesetzt ist, also keinen wert hat, > == 0 und == dem leeren string ist. > > Natürlich könnte ich === verwenden, aber: macht es überhaupt sinn, den leeren > string oder sogar die 0 wie eine variable ohne Werte betrachten zu können? > > NULL und 0 sollten doch garnicht miteinander vergleichbar sein. > Genausowenig sollten 0 und '' miteinander vergleichbar sein. Oder '' und NULL. Da PHP aber eine automatische Typkonvertierung vornimmt musst du zum Abfangen dieser Verschiedenen Möglichkeiten aber '===' benutzen. Das ist nunmal der Preis, den man zahlen muss, wenn man sich nicht mit Typdefinitionen aufhalten will. Sonst musst du wohl oder übel zu einer anderen Sprache wechseln ;-) Übrigens ist NULL == FALSE ;-) Gruß Andreas -- wdv Medien & Kommunikation GmbH & Co. OHG Mediendatenverarbeitung Andreas Heigl Siemensstrasse 6 61352 Bad Homburg Germany Telefon +49-(0)6172-670-185 Telefax +49-(0)6172-670-181 www.wdv.de
php::bar PHP Wiki - Listenarchive