PHP: NULL - Manual (original) (raw)

The null type is PHP's unit type, i.e. it has only one value:[null](reserved.constants.php#constant.null).

Undefined, and unset() variables will resolve to the value [null](reserved.constants.php#constant.null).

Syntax

There is only one value of type null, and that is the case-insensitive constant [null](reserved.constants.php#constant.null).

Casting to [null](reserved.constants.php#constant.null)

Warning

This feature has been_DEPRECATED_ as of PHP 7.2.0, and REMOVED as of PHP 8.0.0. Relying on this feature is highly discouraged.

Casting a variable to null using (unset) $var will not remove the variable or unset its value. It will only return a [null](reserved.constants.php#constant.null) value.

Found A Problem?

quickpick

14 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

8 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.