Zao’s Blog
感谢上天,我不是一个人在战斗!
炒股开户,证券网上开户,不限资金佣金万1.5包含规费,量大手续费万1.2,QQ 312011170
一月
20

字符串和数字比较?

标签: | 浏览:(0)

字符串能和数字比较大小吗?它们是否“相等”呢?你肯定会回答“不相等”。理论上是这样的,但是在PHP程序中,你可能会发现结果并不是你想像的那样!

不信你测试一下这段代码的结果:

<?php
if("A"==0) echo 'YES';
else echo 'NO';
?>

结果是“YES”!对PHP不熟悉的人在写程序时如果用数字和字符串比较,往往会因为这样而出错。

为什么呢?PHP不是在运算时能把字符串转换为数值的吗?但是规则是:如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。

所以“A”与 0 比较是真,“1a”与 1 比较也是真的!如果真的要用数字与字符串比较的话可以用“===”和“!==”,因为这是比较数据类型的,字符串和数字比较结果肯定是假了。 :hyper:

一条评论 | 发表你的评论

还不懂,哎哎哎!~

发表评论





改变评论框高度:增大(+) | 减小(-)

DO NOT Fill!