发布网友 发布时间:2022-04-06 04:19
共3个回答
热心网友 时间:2022-04-06 05:49
可能是实验巧合,用逻辑运算符比较字符串时,会先把字符串转换成数字,再比较数值。
比如
"10 hello"会转换成整型10
"9.8"会转换成浮点9.8f
转换后再进行比较。
比较字符串或字节数据最好用strcmp之类的字符串函数。
题主是个无脑的猪,选了个错误答案
<?phpboolean true
boolean false
所有的资料都会告诉你,字符串绝不能用逻辑运算符。
热心网友 时间:2022-04-06 07:07
也在等,wq r如果你找到答案 ,,给我发一下呀
热心网友 时间:2022-04-06 08:41
你这种比较有问题的,因为它会把字符串的首字母做为比较对象,如果第一个数是2,号一个第一个是1,那么第一个就大于第二个,无论后面多长。字母也是,如果 第一个是b,另一个是a,那么后面无论什么,第一个大于第二个。相同则比较下一个。追问按你说的,这两个字符串应该相等才对,但是结果是第一个小于第二个字符串,即跟strcmp的基理一样,按顺序比较'We are family '这些都相等然后比较‘A’和第二个字符串相应位置的'B',得出第str1<str2
追答你仔细看我说的,相同则比较下一个字符串,其实通俗来讲是一样的道理。不过出于日后维护和规范来说,不建议。php 版本是会升级的,以前和多写法现就没用了。养成好习惯还是比较好