Con empty le basta, por ejemplo:
Código PHP:
<?php
$var = 0;
#Evalúa a true ya que $var esta vacía
if( empty( $var ) ){
echo $var . ' es 0, una variable vacía, null, o no esta declarada';
}
#Evalua a true ya que $var esta definida
if( isset( $var ) ){
echo $var. ' esta definida aunque este vacía';
}
?>
Los valores que evalúa empty() son:
"" => una cadena vacía sin contenido alguno.
0 => Cero como un número entero
"0" => Cero como un dato del tipo string
NULL => Como el ejemplo que propones
FALSE => No como string sino como valor booleano
array() => una array vació pero declarado.
var $var => una variable declarada, pero sin un valor en una clase.