• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php中0,空,null和false的区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

代码

$a =  0;
$b="0";
$c= ‘‘;
$d= null;
$e = false;

echo "5个变量-原始测试类型";
    var_dump($a);//int 0
    var_dump($b);//string ‘0‘
    var_dump($c);//string ‘‘
    var_dump($d);//null
    var_dump($e);//boolean false

echo "<h4>empty测试</h4>";
    var_dump(empty($a));//true
    var_dump(empty($b));//true
    var_dump(empty($c));//true
    var_dump(empty($d));//true
    var_dump(empty($e));//true

echo "<hr>";
    var_dump(isset($a));//true
    var_dump(isset($b));//true
    var_dump(isset($c));//true
    var_dump(isset($d));//【false】 见结论一
    var_dump(isset($e));//true

echo "<h4>(==)双等式测试</h4>";
    var_dump($a == $b);//true
    var_dump($a == $c);//true
    var_dump($a == $d);//true
    var_dump($a == $e);//true !!

    var_dump($b == $c);//【false】见结论二
    var_dump($b == $d);//【false】见结论二
    var_dump($b == $e);//true

    var_dump($c == $d);//true
    var_dump($c == $e);//true

echo "<h4>(===)三等式测试</h4>";
    var_dump($a === $b);//false
    var_dump($a === $c);//false
    var_dump($a === $d);//false
    var_dump($a === $e);//false

    var_dump($b === $c);//false
    var_dump($b === $d);//false
    var_dump($b === $e);//false

    var_dump($c === $d);//false
    var_dump($c === $e);//false

 

 

总结:

对于 【0 ;‘0‘ ;‘‘ ;null; false】五种类型
empty操作以上五个变量,都返回false
强等于 (===) 比较 都为false,同强语言结果(三个等号比较不但要比较值,而且要比较类型)
但对于 (==) 比较,需要注意string类型,涉及到底层结构与类型转换

 

 

 

结论一:关于变量类型的理解

1.null为不存在之意:php底层的zval空间里(结构见下方)没有存其value值,只存储了一个type标志其 IS_NULL(所以解释了 empty(null)=true,isset(null)=false ,isset(‘‘)=true)
2.【0 ; ‘0‘ ; ‘‘ ; false 】:这四个为存在,php底层是开辟zval空间存储,有value,有type

vi设计http://www.maiqicn.com 办公资源网站大全https://www.wode007.com

 

结论二:

1、string ‘0‘与 string ‘‘ 不相等,(想一下就明白,同类型比较【1个长度】的字符串怎么可能 等于 【0个长度】 的字符串)
2、int 0 却和 string ‘‘ 空相等,(非同类形比较,php会做类型转换)
3、string ‘0‘ 与 null 不相等,int 0 与 null 相等


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
跨域,php后端处理发布时间:2022-07-10
下一篇:
PHP 的源码编译安装发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap