PHP represents “no value” with the [null](<http://php.net/manual/en/language.types.null.php>) keyword. It’s somewhat similar to the null pointer in C-language and to the NULL value in SQL.

Setting the variable to null:

$nullvar = null; // directly

function doSomething() {} // this function does not return anything
$nullvar = doSomething(); // so the null is assigned to $nullvar

Checking if the variable was set to null:

if (is_null($nullvar)) { /* variable is null */ }

if ($nullvar === null) {  /* variable is null */ }

Null vs undefined variable

If the variable was not defined or was unset then any tests against the null will be successful but they will also generate a Notice: Undefined variable: nullvar:

$nullvar = null;
unset($nullvar);
if ($nullvar === null) {  /* true but also a Notice is printed */ }
if (is_null($nullvar)) {  /* true but also a Notice is printed */ }

Therefore undefined values must be checked with [isset](<http://php.net/manual/en/function.isset.php>):

if (!isset($nullvar)) {  /* variable is null or is not even defined */  }