最近碰到的一个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/
php中0、null和""
最新推荐文章于 2022-09-28 08:54:26 发布