$id=null;if (empty($id)) { echo 1;}else { echo 2;}print'<br>';if (!isset($id)) { echo 1;}else { echo 2;}结果怎么为:1 1呢?百思不得其解。
2 回答
已采纳
野生码农在线co腚
TA贡献134条经验 获得超63个赞
empty()函数是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。
以下的东西被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)
所以第一个echo 1.
isset ()检测变量是否设置,并且不是 NULL。返回值 :如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。
简单的来说,empty()函数如果要检测的变量是空则返回true.isset()要检测的变量是空,则返回false. 第二个if语句里面还有个非! 所以 同样走第一步 echo 1
- 2 回答
- 1 关注
- 1467 浏览
添加回答
举报
0/150
提交
取消