Web製作でよく使うPHP変数の値有無判定関数

/**
 *
 * @param mixed $v 
 * @return boolean 
 *
 **/
 function v($v){
   if(is_bool($v)){
     return $v;
   }elseif(is_numeric($v)){ // all numeric (0 and '0') are true.
     return true;
   }elseif(is_string($v)){
     return !empty($v);
   }elseif(is_array($v)){
     $v = array_filter($v,"v");
     return !empty($v);
   }elseif(is_object($v)){
     return v(get_object_vars($v));
   }else{
     return !empty($v);
   }
 }

実際にHTMLに出力するときは 0を値とみなすことのほうが多いと思いますので
0もTRUE扱いにしています。