请问如下代码输出什么

var_dump("1000M" > "500M");
var_dump("800M" > "500M");
var_dump("4.0K" > "500M");
var_dump("4.0" > "500M");
var_dump("4000000000000000000" > "500M");

输出结果:

bool(false)
bool(true)
bool(false)
bool(false)
bool(false)

也就是说只有

var_dump("800M" > "500M");

这种情况是true。

当然,这种写法本身就是智障写法,判定数字的话,应该是int的,而预期肯定不是判定字符串。由此而来,根源为什么会true?
因为字符串比较的时候,是逐字符进行的,所以才会出现这样的情况,同理,第一个字符比5大,都是可以的。比如A00M也是可以的。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末的二维码对我进行赞赏和鼓励。

与《PHP 字符串比较》相关的博文:


发布时间 04/13/2019 06:53:50所属栏目 Program Code.所属标签 .

留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌