PHP is_true() function

To be TRUE or not to be TRUE, that is the question. Here’s what I think about PHP’s various interpretations of truthiness:

function is_true($var) {
  if($var) {
    if(is_bool($var) || is_int($var) || is_long($var) || is_float($var)) {
      // we agree with PHP for these types
      return TRUE;
    }
    elseif(is_numeric($var)) {
      // PHP says that "0.0" is TRUE. We disagree.
      return ((float)$var)?TRUE:FALSE;
    }
    elseif(is_string($var)) {
      // PHP says that "FALSE" is TRUE. We disagree.
      return !in_array(strtolower($var),array("false","f","no","n"));
    }
    elseif(is_object($var)) {
      // PHP says that ((Object) NULL) is TRUE. We disagree.
      return ((Array)$var)?TRUE:FALSE;
    }
    return TRUE;
  }
  return FALSE;
}


Advertisement