empty和取非的区别?

xcode21 2013-01-16 02:41:45
在平常的编程过程中,我发现empty和对变量取非基本上是一样的。
比如 $a=0 empty($a)和!$a是一样的
而这个$a,无论是空字符串,字符串0, 数字0, 布尔false, null ,基本上都是一样的。

而任何不属于上述内容的东西,都可以在条件中当做真值来处理。

所以不知道,if(empty($a))和if(!$a)是否可以通用
if($a) 和 if (!empty($a))是否可以通用?
...全文
214 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
查看官网empty的说明手册,很清楚的。 如果怕报错,可以先用isset来试探是否有
  • 打赏
  • 举报
回复
www_7di_net 2013-01-17
引用 3 楼 xcode21 的回复:
引用 1 楼 sibang 的回复:有差異,如果用empty,就算你的變量沒有定義都沒關係,但是如果用!非的話變量不定義是不行的. 你測試看看下邊的兩行代碼就知道了 <?PHP var_dump(empty($a)); var_dump(!$a); 对于非输出的地方,比如判断,如if(),while()这样的地方是否有差异呢? 比如$a没定义,但是if……
有,差異也是一樣的.
  • 打赏
  • 举报
回复
xuzuning 2013-01-16
在屏蔽掉 Notice 级别错误时,两者是一样的
  • 打赏
  • 举报
回复
ohmygirl 2013-01-16
http://php.net/manual/en/types.comparisons.php 看empty和bool的区别。
  • 打赏
  • 举报
回复
xcode21 2013-01-16
引用 1 楼 sibang 的回复:
有差異,如果用empty,就算你的變量沒有定義都沒關係,但是如果用!非的話變量不定義是不行的. 你測試看看下邊的兩行代碼就知道了 <?PHP var_dump(empty($a)); var_dump(!$a);
对于非输出的地方,比如判断,如if(),while()这样的地方是否有差异呢? 比如$a没定义,但是if ($a) 依旧是假 if (!$a)依旧是真。 是否就没有差异了?
  • 打赏
  • 举报
回复
www_7di_net 2013-01-16
223494678 這是我的qq群,有興趣可以來交流
  • 打赏
  • 举报
回复
www_7di_net 2013-01-16
有差異,如果用empty,就算你的變量沒有定義都沒關係,但是如果用!非的話變量不定義是不行的. 你測試看看下邊的兩行代碼就知道了 <?PHP var_dump(empty($a)); var_dump(!$a);
  • 打赏
  • 举报
回复
相关推荐
最新单片机仿真 独立式键盘调时的数码时钟实验 最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的数码时钟实验最新单片机仿真 独立式键盘调时的
发帖
基础编程
加入

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2013-01-16 02:41
社区公告
暂无公告