Value | Bool | empty() | !isset() | is_blank() |
---|---|---|---|---|
undefined | undefined | True | True | True |
NULL
|
False | True | True | True |
bool(false)
|
False | True | False | True |
bool(true)
|
True | False | False | False |
int(0)
|
False | True | False | False |
float(0)
|
False | True | False | False |
int(1)
|
True | False | False | False |
float(1)
|
True | False | False | False |
string(1) "0"
|
False | True | False | False |
string(3) "0.0"
|
True | False | False | False |
string(1) "1"
|
True | False | False | False |
string(3) "1.0"
|
True | False | False | False |
string(0) ""
|
False | True | False | True |
string(1) " "
|
True | False | False | True |
string(4) "test"
|
True | False | False | False |
array(0) {
}
|
False | True | False | True |
array(1) {
[0]=>
int(1)
}
|
True | False | False | False |
object(stdClass)#1 (0) {
}
|
True | False | False | False |
<?php /** * Checks if a scalar value is FALSE, without content or only full * whitespaces. * For non-scalar values will evaluate if value is empty(). * * @param mixed $v to test * @return bool if $v is blank */ function is_blank (&$v) { return !isset($v) || (is_scalar($v) ? (trim($v) === '') : empty($v)); } ?>