PHP 中 empty
和 isset
函数时怎么判断变量的?isset 和 empty 函数最终都执行了 zend_do_isset_or_isempty
函数,此外,实际上,empty 不是一个函数,而是一个语言结构,语言结构是在PHP程序运行前编译好的。
bool empty ( mixed $var )
判断变量是否为空。
bool isset ( mixed $var [ , mixed $... ] )
判断变量是否被设置且不为NULL。
对于empty
,在 PHP5.5 版本以前,empty 只支持变量参数,其他类型的参数会导致解析错误,比如函数调用的结果不能作为参数。
对于isset
,如果变量被如 unset 的函数设为 NULL,则函数会返回 false。如果多个参数被传递到 isset 函数,那么只有所有参数都被设置 isset 函数才会返回 true 。从左到右计算,一旦遇到没被设置的变量就停止。
$result = empty(0); // true
$result = empty(null); // true
$result = empty(false); // true
$result = empty(array()); // true
$result = empty('0'); // true
$result = empty(1); // false
$result = empty(callback function); // 报错
$a = null;
$result = isset($a); // false;
$a = 1;
$result = isset($a); // true;
$a = 1;$b = 2;$c = 3;
$result = isset($a, $b, $c); // true
$a = 1;$b = null;$c = 3;
$result = isset($a, $b, $c); // false
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。