今天碰到一个奇葩的事情:
用户有书币888 看一本刚好需要 8.88元的书
然而看不了,提示需要充值。怎么能这么不要脸呢,明显可以看阿,这不科学阿,然而这却是真实的,测试居然真和用户反馈一样,不是说好的PHP是弱类型语言吗?
现在把过程写一下:
$a=把钱转书币 8.88*100
$b=账户余额 888
比较$a和$b 的大小
if($b>=$a){可以看}else{不可以看,跳充值页面}
奇葩的是 这里 会跳到{不可以看,跳充值页面} 这里的代码块。这里为什么会出现这种情况呢?
其他过程不说了, 就列出关键的判断
var_dump($b) 和 var_dump($a) 分别打印出来 就知道为什么了。
结果为:int(888) float(888)
这里的解决办法是 把 float 转成int
$a=intval($a);
这样问题就解决了。
再看看 PHP 的 float 的文档 https://www.php.net/manual/zh/language.types.float.php
真是学艺不精阿。
It is very nice to read your site, thank you very much for your work, it's great!
nice啊,好好,又涨知识了。