调试程序发现一个bug,总结就是比较相等的问题:
"a.php" 14L, 144C written
[~]# /usr/local/php/bin/php a.php
2010-01-20equal
改为:
if($a === $b)
还是相等,奇怪了!!!
回忆未来(372647693) 15:37:37
这个问题,兄弟们是咋整的。
我姓-->苏(14044522) 15:39:01
转成字符比较
我姓-->苏(14044522) 15:40:09
你这个数有17位呀!!兄弟
膘叔(19129540) 15:40:46
哈哈。
膘叔(19129540) 15:40:56
17位。还算是int吗?
回忆未来(372647693) 15:41:02
溢出吧。呵呵
膘叔(19129540) 15:41:36
这不是BUG,这分明就是错误 。
膘叔(19129540) 15:41:50
能够让你写成这样的。分明就是错误。。。
膘叔(19129540) 15:41:56
int的范围都不知道。。。
回忆未来(372647693) 15:42:28
呵呵,批评有你,php无罪,哈哈。。
我姓-->苏(14044522) 15:42:43
长整型
回忆未来(372647693) 15:43:16
要是php提示如下:
php warning:
提示:你的位数17位。还当int比较吗?兄弟!
就好了。
膘叔(19129540) 15:43:17
bigint,要额外加载库的。
我姓-->苏(14044522) 15:44:36
.........
回忆未来(372647693) 15:44:40
咋个比较呢。那
我姓-->苏(14044522) 15:44:57
转成字符串了咯
膘叔(19129540) 15:45:21
strval
回忆未来(372647693) 15:45:31
结贴。
吉祥草(81193073) 16:37:58
$a = 61563184422810820;
这个数太大了。建议你传出来的时候就是字符串。
挖掘机<meetcode@qq.com> 16:42:16
能不能这样,穿出来是字符串
挖掘机<meetcode@qq.com> 16:42:21
比较长度
挖掘机<meetcode@qq.com> 16:42:58
长度一致,取一半儿换整比较
亾玍,IFELSE(358751844) 16:46:01
谁遇到 过这个问题
<?php
echo date("Y-m-d");
$a = 61563184422810820;
$b = 61563184422810816;
if($a == $b)
{
echo "equal";
}
else
{
echo 'not equal';
}
?>
echo date("Y-m-d");
$a = 61563184422810820;
$b = 61563184422810816;
if($a == $b)
{
echo "equal";
}
else
{
echo 'not equal';
}
?>
"a.php" 14L, 144C written
[~]# /usr/local/php/bin/php a.php
2010-01-20equal
改为:
if($a === $b)
还是相等,奇怪了!!!
回忆未来(372647693) 15:37:37
这个问题,兄弟们是咋整的。
我姓-->苏(14044522) 15:39:01
转成字符比较
我姓-->苏(14044522) 15:40:09
你这个数有17位呀!!兄弟
膘叔(19129540) 15:40:46
哈哈。
膘叔(19129540) 15:40:56
17位。还算是int吗?
回忆未来(372647693) 15:41:02
溢出吧。呵呵
膘叔(19129540) 15:41:36
这不是BUG,这分明就是错误 。
膘叔(19129540) 15:41:50
能够让你写成这样的。分明就是错误。。。
膘叔(19129540) 15:41:56
int的范围都不知道。。。
回忆未来(372647693) 15:42:28
呵呵,批评有你,php无罪,哈哈。。
我姓-->苏(14044522) 15:42:43
长整型
回忆未来(372647693) 15:43:16
要是php提示如下:
php warning:
提示:你的位数17位。还当int比较吗?兄弟!
就好了。
膘叔(19129540) 15:43:17
bigint,要额外加载库的。
我姓-->苏(14044522) 15:44:36
.........
回忆未来(372647693) 15:44:40
咋个比较呢。那
我姓-->苏(14044522) 15:44:57
转成字符串了咯
膘叔(19129540) 15:45:21
strval
回忆未来(372647693) 15:45:31
结贴。
吉祥草(81193073) 16:37:58
$a = 61563184422810820;
这个数太大了。建议你传出来的时候就是字符串。
挖掘机<meetcode@qq.com> 16:42:16
能不能这样,穿出来是字符串
挖掘机<meetcode@qq.com> 16:42:21
比较长度
挖掘机<meetcode@qq.com> 16:42:58
长度一致,取一半儿换整比较
亾玍,IFELSE(358751844) 16:46:01
谁遇到 过这个问题
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2593/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2010-1-20 16:57
评论列表