1、isset() —— 入参只能为变量,检测变量存在值并且不为NULL则返回true,否则返回false;
//isset(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER
//未定义的变量
echo isset($no).'<hr>';//false
$var;
echo isset($var).'<hr>';//false
php中empty的功能?$var = NULL ;
echo isset($var).'<hr>'; //false
//以下几种情况都返回true
$var=0;
echo isset($var); //true
$var=-0.1;
echo isset($var); //true
$var="";
echo isset($var); //true
//与isset()对应的函数是unset(),unset()销毁一个变量后[可以回收内存],变量的isset()将返回false;
$var=123;
echo isset($var);//true
unset($var);//销毁变量
echo isset($var);//false
php运算符优先级、2、empty($var) -- [入参只能为变量] 判断变量值是否为空,当一个变量不存在或者值等同于FALSE,那么该变量则为空。
//empty(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER
以下的东西被认为是空的【empty(x)返回TRUE】:
•"" (空字符串)
•0 (作为整数的0)
•0.0 (作为浮点数的0)
•"0" (作为字符串的0)
•NULL
•FALSE
•array() (一个空数组)
•$var; (一个声明了,但是没有值的变量)
注意:isset和empty是语言构造器而不是一个函数,不能被可变函数调用。 本质上与 !isset($var) || $var == false 等价
PHP isset。
3、is_null 检测一个变量的值是否为null
//未定义变量$abc
var_dump(is_null($abc));//返回true 发生错误通知 Notice: Undefined variable
//声明了一个变量,未赋值
$abc;
var_dump(is_null($abc));//返回true Notice: Undefined variable
php中null和false相等吗。注意:以上两种情况,在PHP5.6中测试返回结果是true,但出现了错误通知!
$ok = null;
var_dump(is_null($abc));//返回true
//如何检测一个变量是否被声明且被赋值了 null ??
1 function checkNull($a) 2 { 3 if(array_key_exists($a,$GLOBALS)) 4 { 5 global $$a; 6 if(is_null($$a)) 7 return true; 8 } 9 return false; 10 } 11 $test=null; 12 var_dump(checkNull("test"));//true 13 var_dump(checkNull("test1"));//false