You are on page 1of 5

PHP: NULL - Manual

http://www.php.net/manual/en/language.types.null.php

[edit] Last updated: Fri, 20 Apr 2012

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

<?php $var = NULL; ?> See also the functions is_null() and unset().

Casting to NULL
Casting a variable to null using (unset) $var will not remove the variable or unset its value. It will only return a NULL value.

User Contributed Notes

NULL

ryan at trezshard dot com 01-Jun-2011 08:31 This simple shorthand seems to work for setting new variables to NULL: <?php

1 of 5

26/04/2012 11:41

PHP: NULL - Manual

http://www.php.net/manual/en/language.types.null.php

$Var; ?> The above code will set $Var to NULL UPDATE: After further testing it appears the code only works in the global scope and does not work inside functions. <?php function Example(){ $Var; var_dump($Var); } ?> Would not work as expected. quickpick 22-Apr-2011 03:36 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 james 20-Sep-2007 08:25 A little speed test: <?php $v = NULL; $s = microtime(TRUE); for($i=0; $i<1000; $i++) { is_null($v); } print microtime(TRUE)-$s; print "<br>";

2 of 5

26/04/2012 11:41

PHP: NULL - Manual

http://www.php.net/manual/en/language.types.null.php

$s = microtime(TRUE); for($i=0; $i<1000; $i++) { $v===NULL; } print microtime(TRUE)-$s; ?> Results: 0.017982006072998 0.0005950927734375 Using "===" is 30x quicker than is_null(). nl-x at bita dot nl 09-Jul-2007 10:33 Watch out. You can define a new constant with the name NULL with define("NULL","FOO");. But you must use the function constant("NULL"); to get it's value. NULL without the function call to the constant() function will still retrieve the special type NULL value. Within a class there is no problem, as const NULL="Foo"; will be accessible as myClass::NULL. cdcchen at hotmail dot com 25-May-2006 08:17 empty() is_null() !isset() $var = ""; empty($var) is true. is_null($var) is false. !isset($var) is false. 06-Jan-2006 01:51 // Difference between "unset($a);" and "$a = NULL;" : <?php // unset($a) $a = 5; $b = & $a; unset($a); print "b $b "; // b 5 // $a = NULL; (better I think)

3 of 5

26/04/2012 11:41

PHP: NULL - Manual

http://www.php.net/manual/en/language.types.null.php

$a = 5; $b = & $a; $a = NULL; print "b $b "; // b print(! isset($b)); // 1 ?> poutri_j at epitech dot net 26-Jul-2005 04:56 if you declare something like this : <?php class toto { public $a = array(); public function load() { if ($this->a == null) // ==> the result is true $a = other_func(); } } ?> be carefull, that's strange but an empty array is considered as a null variable rizwan_nawaz786 at hotmail dot com 18-Oct-2004 09:22 Hi Rizwan Here Null is the Constant in PHP. it is use to assign a empty value to the variable like $a=NULL; At this time $a has is NULL or $a has no value; When we declaire a veriable in other languages than that veriable has some value depending on the value of memory location at which it is pointed but in php when we declaire a veriable than php assign a NULL to a veriable.

4 of 5

26/04/2012 11:41

PHP: NULL - Manual

http://www.php.net/manual/en/language.types.null.php

dward at maidencreek dot com 12-Nov-2001 03:52 Nulls are almost the same as unset variables and it is hard to tell the difference without creating errors from the interpreter: <?php $var = NULL; ?> isset($var) is FALSE empty($var) is TRUE is_null($var) is TRUE isset($novar) is FALSE empty($novar) is TRUE is_null($novar) gives an Undefined variable error $var IS in the symbol table (from get_defined_vars()) $var CAN be used as an argument or an expression. So, in most cases I found that we needed to use !isset($var) intead of is_null($var) and then set $var = NULL if the variable needs to be used later to guarantee that $var is a valid variable with a NULL value instead of being undefined. tbdavis at greyshirt dot net 11-Oct-2001 04:36 Unlike the relational model, NULL in PHP has the following properties: NULL == NULL is true, NULL == FALSE is true. And in line with the relational model, NULL == TRUE fails.

Copyright 2001-2012 The PHP Group All rights reserved.

5 of 5

26/04/2012 11:41

You might also like