各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php中0,空,null和false之间有何区别(代码示例)

管理员 2023-09-05
PHP
116

php中0,空,null和false之间有何区别(代码示例)

内容导读

收集整理的这篇技术教程文章主要介绍了php中0,空,null和false之间有何区别(代码示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟

内容图文

本篇文章给大家带来的内容是关于php中0,空,null和false之间有何区别,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
$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

结论二:

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

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

3、string '0' null 不相等,int 0 null 相等

相关推荐:

php中0与null与false与空的区别

以上就是php中0,空,null和false之间有何区别(代码示例)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php中0,空,null和false之间有何区别(代码示例)全部内容,希望文章能够帮你解决php中0,空,null和false之间有何区别(代码示例)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部