php中0、null和""

来源:互联网 发布:如何将相同的数据合并 编辑:程序博客网 时间:2024/05/22 07:50
最近碰到的一个BUG,在判断一个变量否是空串的时候发现0==""居然为真,于是写了几个语句测了一下:echo (0=="" ? "true":"false") . "\n";echo (0==NULL ? "true":"false") . "\n";echo (NULL==""? "true":"false") . "\n";结果全部输出true;原因是字符串与数字比较时,字符串由最前面的部分决定。如果字符串是以合法的数字开头,就用该数字作为其值,否则其值为0;而NULL在底层存储的值也为0。解决方法是用全等于“===”来判断

查看原文:http://chimmu.dynu.net/2017/05/25/php%e4%b8%ad0%e3%80%81null%e5%92%8c/