1. isset
功能和返回值:判断变量是否被初始化 ,变量已经存在,并且它的值不为null,返回true,否则为false
参数:只能是变量
代码如下:
$domain = ' $name = null; $job; var_dump(isset($domain) ? true : false);//true var_dump(isset($name) ? true : false); //false var)dump(isset($job) ? true : false); //false,未赋值并不报错,与is_null不同
2. empty
功能和返回值:检测变量是否为“空”
若变量不存在,返回 true
变量存在情况下,值为空,返回 true
null, 0 , false, 都将返回 true
总结:任何一个未初始化的变量、值为 0 或 false 或 空字符串”" 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true
参数:只能接受变量
代码如下:
$str1 = ''; $str2 = []; $str3 = '0'; $str4 = null; $str6 = false; $str7 = 'gakkispy'; var_dump(empty($str1) ? true : false); //true var_dump(empty($str2) ? true : false); //true var_dump(empty($str3) ? true : false); //true var_dump(empty($str4) ? true : false); //true var_dump(empty($str5) ? true : false); //true var_dump(empty($str6) ? true : false); //true var_dump(empty($str7) ? true : false); //有值且不为空,返回false
3. is_null
功能和返回值:检测变量是否为“null” ,变量不存在,未赋值和值为null是,返回true,
总结:仅在变量的值为“null”时,检测结果才为true,0、空字符串、false、空数组都检测为false
变量未初始化时,返回false,但程序将会报错
代码如下:
$val1; $val2 = null; $val3 = 'php'; var_dump(is_null($val1) ? true : false); //true var_dump(is_null($val2) ? true : false); //true var_dump(is_null($val3) ? true : false); //true var_dump(is_null($val4) ? true : false);//false, 报错