php字符串为什么可以直接比较大小

2025-03-06 21:53:35
推荐回答(3个)
回答1:

可能是实验巧合,用逻辑运算符比较字符串时,会先把字符串转换成数字,再比较数值。

比如

"10 hello"会转换成整型10

"9.8"会转换成浮点9.8f

转换后再进行比较。


比较字符串或字节数据最好用strcmp之类的字符串函数。



题主是个无脑的猪,选了个错误答案

$a='10';
$b='9.8';
var_dump($a>$b);
var_dump(strcmp($a,$b)>0);
boolean true
boolean false


所有的资料都会告诉你,字符串绝不能用逻辑运算符。

回答2:

也在等,wq r如果你找到答案 ,,给我发一下呀

回答3:

你这种比较有问题的,因为它会把字符串的首字母做为比较对象,如果第一个数是2,号一个第一个是1,那么第一个就大于第二个,无论后面多长。字母也是,如果 第一个是b,另一个是a,那么后面无论什么,第一个大于第二个。相同则比较下一个。