tdoescher
Goto Top

Ist NULL das gleiche wie FALSE?

Hallo,

meine Frage ist sehr einfach, ist NULL das gleiche wie FALSE?

Content-ID: 134352

Url: https://administrator.de/forum/ist-null-das-gleiche-wie-false-134352.html

Ausgedruckt am: 11.03.2025 um 05:03 Uhr

32067
32067 26.01.2010 um 09:19:24 Uhr
Goto Top
Einfache Antwort: Nein.

http://de.wikipedia.org/wiki/Nullwert

Als Nullwert (kurz NULL, NIL oder ()) bezeichnet man in der Informatik einen Zustand, der das Fehlen eines Wertes anzeigen soll. Nach Edgar F. Codd unterscheidet man zwei Arten von NULL: die Abwesenheit eines Wertes, weil keiner existiert, oder die Abwesenheit, da man den Wert (noch) nicht kennt. Ein Nullwert steht für die Abwesenheit eines Wertes, ein Nullwert ist aber gleichzeitig ein Wert.

Der Nullwert ist verschieden von dem Wert '' (eine leere Zeichenkette) oder der Zahl 0, da diese einen Wert, also eine Information repräsentieren.
tdoescher
tdoescher 26.01.2010 um 09:23:27 Uhr
Goto Top
Also ist dieses hier "var $wert = NULL;" nur schonmal eine deklaration, bzw. eine bekanntgabe einer Variabel!?

Und das "$frage= isset($wert);" ergiebt false!?
Cubic83
Cubic83 26.01.2010 um 10:00:04 Uhr
Goto Top
Hallo,

ich würde mal sagen isset($wert) ergibt true weil die Variable definiert ist auch gesetzt wurde. Nur halt mit NULL. Habe gerade keine Möglichkeit das zu testen.

mfG
dog
dog 26.01.2010 um 10:01:28 Uhr
Goto Top
meine Frage ist sehr einfach, ist NULL das gleiche wie FALSE?

Nö, warum sollte es sonst unterschiedlich heißen?

NULL ist ein gesonderter Zustand.

Und das "$frage= isset($wert);" ergiebt false!?

Genua. So steht es auch in der Dokumentation: http://de2.php.net/isset

Determine if a variable is set and is not NULL.

PHP hat ein eigenes Verhältnis zu NULL: Jede nicht vorhandene Variable hat NULL als Wert, trotzdem ist NULL ein konkreter Wert für vorhandene Variablen...
Cubic83
Cubic83 26.01.2010 um 10:12:25 Uhr
Goto Top
Interessant.

Mal wieder was dazu gelernt..
Privateer3000
Privateer3000 26.01.2010 um 10:53:10 Uhr
Goto Top
Prinzipiell ist es so:
False ist ein Boolscher,also logischer Wert.
NULL ein integerer, also Variabler Wert. Kann also auch Leer(null) sein.
Außnahmen bilden zB Datenbanken die statt True/False 0/1 als Bitwert führen.
nxclass
nxclass 26.01.2010 um 11:04:44 Uhr
Goto Top
meine Frage ist sehr einfach
die Antwort auch: !==

echo (false == null) ? 'true' : 'false' . "\n";  
echo (false === null) ? 'true' : 'false' . "\n";  
dog
dog 26.01.2010 um 11:14:44 Uhr
Goto Top
die Antwort auch

Nein, die ist sogar noch einfacher:

var_dump(false == null);
var_dump(false === null);

face-wink

Allerdings sollte man auch noch begründen warum jetzt beim ersten true rauskommt:
PHP kann Datentypen ineinander umwandeln und wenn man == benutzt wird es das auch machen.
In dem Fall sind 0,false,null,'' (leerer String) und noch ein paar andere identisch...