当前位置:编程学习 > php >>

刚发现的字符串比较问题,难道是PHP的BUG? - 技术问答

提交的pid和数据库的pid进行比较,我这样写:if($rs[\'pid\']!=$pid){....}。我提交的pid是123456789234343243,数据库里的pid也是123456789234343243,但是当最后一个数(第18位)不一样的时候,if语句没能判断出来,还认为他们是相等的,怎么回事?也就是说在我的这个if语句中,程序认为123456789234343243和123456789234343242是相等的!!注:数据库这个pid字段是varchar属性。
答案:
本身string没有长度的限制的,int才有!因为$a = 123456789234343243;这个PHP已经将它转为123456789234340000,所以var_dump((string) $a);才会是string \'123456789234340000\' (length=18)
到技术吧网站查看回答详情>>
你试一下if ($rs[\'pid\'] != (string) $pid)
到技术吧网站查看回答详情>>

上一个:用程序怎么样来实现下线推广的算法:如 我是A,下线有B,C,B,C下又各有DEF,HIJK,以此下去,他们都属于A的下线,用php程序如何计算各层的总人数
下一个:php表达式非常小的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,