快捷导航

empty()和!isset()

$id=null;if (empty($id)) {  echo 1;}else {  echo 2;}print'
';if (!isset($id)) {  echo 1;}else {  echo 2;}结果怎么为:1 1呢?百思不得其解。

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

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
回复

使用道具 举报

特殊的NULL值表示一个变量没有值。
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP