Advertisement
Home ›
PHP is_true() function
Submitted by danorton on Thu, 06/17/2010 - 18:47
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;
}
Tags:
Advertisement