php 的empty是什么作用?
下面这句能不能通俗的说一下。
* 若变量存在且其值为""、0、"0"、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE
* 若变量存在且值不为""、0、"0"、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE
* 版本:PHP 3, PHP 4, PHP 5
那isset又是?
举例
变量 相当于一个盘子 如果变量中有内容 就是盘子里面有东西
emtpy(变量) 就相当于问你 盘子有东西吗
如果有东西就是不为空 返回 false
如果没有东西就是 为空 返回 true追问
不错!那isset呢?
追答isset 就是相当于是否存在
比如你定义一个变量 $str = "";
isset($str) 和 empty($str) 都返回 true
如果 $str = "1";
isset($str) true
empty($str) 返回 false 因为$str 已经有值了就不是空的了
但是如果是一个未定义的变量的话
empty($empty) 返回 true
isset($empty) 返回 false
empty为空就返回true?isset为空就是false?
追答再通俗点说就是 empty 关心的变量里面的值(盘子里的东西)isset 关心的是变量(就是容器 相当于盘子是否存在)
$str = 0;print_r(isset($str) ."@". empty($str));
echo "<br>>>>>>:>";
print_r(isset($empty) ."@". empty($empty));
你通过修改 $str的值,自己测试下结果就知道了
empty为空就返回true?isset为空就是false?
追答empty()方法就是相当于 别人问你 这个盒子里面的东西是否为空
是空的 返回 true ;
不是空的 返回 false
isset()方法就是相当于 别人问你 这个盒子是否已经存在
盒子存在 返回 true ;
盒子不存在 返回false
isset 是检查变量有没有设置,即使这个变量值为 空,false isset 下都是true 怎么样 是false呢?
比方说 你没有定义 $a 你isset就是为false 或者你有数组 $a = array(0=>1,1=>1); isset($a[2]) 就是false ,其实很简单追问
1=>1是什么意思呀,有点晕了,为啥成了false譬如empty($a[1])这个的是不是false?如果是 empty($a[2])是不是就为true了?
追答emty($a[1]) 是false,因为有值, empty($a[2]) 是false 因为没值。
1=>1 是 数组的第二个值为1