首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

if(零=='abc')为什么会通过

2012-08-09 
if(0abc)为什么会通过if(0abc)为什么会表示为真呢?求指教原理[解决办法]if (0 intval(abc))

if(0=='abc')为什么会通过
if(0=='abc')为什么会表示为真呢?求指教原理

[解决办法]
if (0 == intval('abc')) 弱类型,后面的会转为前面的类型,再比较

你需要用 0 === 'abc'
[解决办法]
因为'abc'被强转成了(int)'abc',和0 == intval('abc')一样。。

这个行为没注意过啊。。 我擦,PHP这是要逆天。
[解决办法]
字符串和数字想判断,那么会将字符串取int值,所以abc在int的意义上就是0,所以相等,你可以用===来判断,这样连带着类型也判断了
[解决办法]
这种比较是不严密的。至少要用 ===
[解决办法]

PHP code
var_dump((int) 'abc'); //int(0)
[解决办法]
ls两位已解答。if(0=='abc') 等于 if(0==intval('abc'))

热点排行