打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
空字符串(''),0和NULL的关系
 应该很多人都还没有认清空字符串('')和NULL的关系吧!!现在我来说明一下吧:先看一个例子:
'' == NULL;
'' === NULL;
运行之后会发现第一个为true,第二个为false!

为什么会这样呢?其实在PHP中空字符串和NULL都是以值为0存储的!而==只比较值,所以第一个为true!但是第二个为什么是false呢!?
原因是在PHP中变量是以C语言的结构体来存储的,其中这个结构体有个zend_uchar type;这样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string而NULL的类型是NULL。这一点可以用echo gettype('');和echo gettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第二个为false!

所以可以这样说===是等于下面的函数:
[php]
function eq($var1, $var2) {
        if($var1 == $var2 && gettype($var1) == gettype($var2)) {
                return 1;
        } else {
                return 0;
        }
}
[/php]

所以空字符串(''),NULL和0是值相等而类型不一样!

NULL是一种特殊的类型.
两种情况下为NULL
1. $var = NULL;
2. $var; 

http://bbs.phpchina.com/thread-99574-1-1.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
「老叶PHP笔记」009PHP数据类型——资源和空值
php中echo()和print()、require()和include()等易混淆函数的区别
php基础教程-变量
PHP 变量类型的强制转换
从零学习php之php数据类型/echo/print
php数据类型
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服