Я думаю, что самый простой способ будет (!$var and $var!=0), но есть ли способ сделать это без повторения имени переменной?
(!$var and $var!=0)
$var !== 0 удовлетворяет ваши запросы, возвращает false на ноль и true на все остальное (включая ложные, нулевые и пустые массивы).
$var !== 0
function foo($var) { return ($var === false || $var === null || is_array($var)); } if(foo($your_var)){}
Прочитав ваш комментарий, я думаю, что это то, что вы хотите:
function really_empty($var) { return $var !== 0 && empty($var); }