When I read the new PHP spec, I threw up in my mouth after I saw that empty("0") was a special case of empty that returned TRUE. I know that's how PHP normally works, but that doesn't really make my mouth taste any better.
Just use the following if you really want to account for strings containing the number 0.
(!isset($var) || $var === false);
Note the triple equals sign.