PHPerKaigi 2021


Der spezielle Wert null repräsentiert eine Variable ohne Wert. null ist der einzig mögliche Wert des Typs null.

Eine Variable gilt als vom Typ null wenn:

  • ihr die Konstante null zugewiesen wurde.

  • ihr noch kein Wert zugewiesen wurde.

  • sie mit unset() gelöscht wurde.


Es gibt nur einen Wert vom Typ null: die Konstante null (Groß- und Kleinschreibung ist dabei nicht wichtig).


Siehe auch die Funktionen is_null() und unset().

Umwandlung in null


Dieses Feature ist seit PHP 7.2.0 als DEPRECATED (veraltet) markiert. Sich auf dieses Feature zu verlassen ist in keiner Weise empfehlenswert.

Die Umwandlung einer Variable auf den Typ null durch (unset) $var entfernt die Variable nicht und löscht nicht ihren Inhalt. Es wird lediglich ein null Wert zurück gegeben.

add a note add a note

User Contributed Notes 4 notes

9 years ago
Note: empty array is converted to null by non-strict equal '==' comparison. Use is_null() or '===' if there is possible of getting empty array.

$a = array();

$a == null  <== return true
$a === null < == return false
is_null($a) <== return false
Hayley Watson
3 years ago
NULL is supposed to indicate the absence of a value, rather than being thought of as a value itself. It's the empty slot, it's the missing information, it's the unanswered question. It's not a jumped-up zero or empty set.

This is why a variable containing a NULL is considered to be unset: it doesn't have a value. Setting a variable to NULL is telling it to forget its value without providing a replacement value to remember instead. The variable remains so that you can give it a proper value to remember later; this is especially important when the variable is an array element or object property.

It's a bit of semantic awkwardness to speak of a "null value", but if a variable can exist without having a value, the language and implementation have to have something to represent that situation. Because someone will ask. If only to see if the slot has been filled.
3 years ago
Note: Non Strict Comparison '==' returns bool(true) for

null == 0 <-- returns true

Use Strict Comparison Instead

null === 0 <-- returns false
17 days ago
Pay attention then using operator -- on NULL values:

$x = null;
--$x;      // $x is NULL
$x--;      // still NULL
$x -= 1;   // $x is -1

On other side for ++ everything works fine:

$x = null;
++$x;      // $ix is 1
To Top