php中空字符串是false,对PHP中的0、false、空字符串、null 的比较

最近看PHP基础知识,总结了下对于初学着经常陷入迷茫的0、false、空、null的比较。这些特殊值在比较大小的时候经常使初学者不知所措。在讲之前我们先来说一下PHP的数据类型。

PHP支持八种原始类型:

四种标量类型: string(字符串)、integer(整型)、float(浮点型,也作 double 、boolean(布尔型)

两种复合类型:array(数组)、object(对象)

两种特殊类型:resource(资源)、NULL(空)

接下来,我们给变量赋以下值:

$a = ' ';   $a_b = '0';   $a_c = '00' ;

$c = 0;  $d = 0.0;

$e = false;

$f = array( );  $g = NUll;

判断以下表达式的值:

比较表达式             值               分析

$a == $a_b          false

$a_b == $a_c       true

$a_b === $a_c    false

$a  == $c             true

$a  === $c          false

$a == $d             true

$c == $d             true

$c === $d          false

$a == $e             true

$a_b == $e         true

$a_c  == $e        false

$c  == $e           true

$d  == $e          true

$a == $f           false

$c ==  $f          false

$e == $f           true

$a == $g          true

$a_b == $g       false

$c == $g           true

$e == $g           true

$f == $g           true

以上表达式的值,如果你都能答对,并且理解,那应该不用接着往下看了,说明你这块儿知识掌握的很好了,平时运用足够了,当然,再往深处研究只懂这些是不够。

有一个规律,常用不同数据类型(标量类型)之间的比较规律,如果记住这个规律,那么标量之间的数据比较,就没有问题了,但是和空数组 、null的比较还不够。

(此规律摘自博客:http://blog.csdn.net/l1028386804/article/details/48771375)

规律:如果比较的数据中,有布尔数据类型,转为布尔值比较,布尔值比较只有一个规则,

true  >  false;

否则,如果有数字值,就转为数字值比较,这是常规比较;

否则,如果俩边都是纯数字字符串,转为数字比较;

否则,就按字符串比较。

其它,涉及到null 和 空数组,只有记住就好啦,暂时没有发现好的理解方法,如果您有什么好的理解,欢迎指教。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值