is_null(),empty(),isset()三个函数对变量的判断:
代码:
实例
<?php $str1 ; $str2 = null; $str3 = []; $str4 = ''; $str5 = 'www.baidu.com'; unset($str5); $str6 = false; $str7 = 0; $str8 = 'china'; echo "<h3>is_null()变量判断</h3>"; @var_dump(is_null($str1) ? true : false);//已声明,但未赋值 echo '<hr>'; @var_dump(is_null($str2) ? true : false);//用null为初始化变量 echo '<hr>'; @var_dump(is_null($str5) ? true : false);//被销毁的变量 echo '<hr>'; echo "<h3>empty()变量判断</h3>"; @var_dump(empty($str2) ? true : false);//null值 echo '<hr>'; @var_dump(empty($str3) ? true : false);//空数组 echo '<hr>'; @var_dump(empty($str4) ? true : false);//空字符串 echo '<hr>'; @var_dump(empty($str5) ? true : false);//被销毁的变量 echo '<hr>'; @var_dump(empty($str6) ? true : false);//布尔false echo '<hr>'; @var_dump(empty($str7) ? true : false);//数字0 echo '<hr>'; @var_dump(empty($str8) ? true : false);//有值且不为空,返回false echo '<hr>'; echo "<h3>isset()变量判断</h3>"; echo '<hr>'; var_dump(isset($str1));//已声明,但未赋值 echo '<hr>'; var_dump(isset($str2));//空数组 echo '<hr>'; var_dump(isset($str7));//有值为数字0,返回true echo '<hr>'; var_dump(isset($str8));//有值且不为空,返回true echo '<hr>'; var_dump(isset($str4));//有值且不为空,返回true echo '<hr>'; ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
手写:
总结:
1. 对于未声明的变量只能使用isset()进行判断
2. 对于已声明的变量,为空判断用empty(),是否初始化判断用is_null()