The special null
value represents a variable with no value. null
is the only possible value of type null.
A variable is considered to be null if:
it has been assigned the constant
null
.it has not been set to any value yet.
it has been unset[].
Syntax
There is only one value of type null, and that is the case-insensitive constant null
.
See also the functions is_null[] and unset[].
Casting to 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
value.
quickpick ¶
11 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 $person['cell'] ];
}
print_r[$friends];
Array
[
[0] => Array
[
[Name] =>
[Phone] =>
]
[1] => Array
[
[Name] =>
[Phone] =>
]
]
This means that:
* NULL == NULL['foo']['bar']['whatever']
This can be slightly confusing if you accidentally slip a NULL into an array of other items.
Hayley Watson ¶
4 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.
Anonymous ¶
4 years ago
Note: Non Strict Comparison '==' returns bool[true] for
null == 0