分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

php中0,空,null和false之间区别

发布时间:2023-09-06 02:17责任编辑:胡小海关键词:暂无标签
$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 falseecho "<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);//trueecho "<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‘ ; ‘‘ ; false 】:这四个为存在,php底层是开辟zval空间存储,有value,有type

结论二:

1、string ‘0‘与 string ‘‘ 不相等,(想一下就明白,同类型比较【1个长度】的字符串怎么可能 等于 【0个长度】 的字符串)

2、int 0 却和 string ‘‘ 空相等,(非同类形比较,php会做类型转换)

3、string ‘0‘ 与 null 不相等,int 0 与 null 相等

php中0,空,null和false之间区别

原文地址:https://www.cnblogs.com/sgm4231/p/9780121.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved