La función empty también comprueba si es null
Código PHP:
if (!empty($cadena))
echo 'Válido.';
else
echo 'No válido.';
Cita: Las siguientes expresiones son consideradas como vacías:
"" (una cadena vacía)
0 (0 como un entero)
"0" (0 como una cadena)
NULL
FALSE
array() (una matriz vacía)
var $var; (una variable declarada, pero sin un valor en una clase)
Edito: uhm, pero ahora que caigo, si hubiera un cero devuelve true... Nunca había pensado en eso xD