php中输出的var_dump( '2E1'>'20.6.7.7' );结果为什么是bool(true);

如题所述

在 PHP 里,最基本的是数据类型是 varient,在进行 '2E1'>'20.6.7.7' 表达式进行运算时,运算符是 > ,属于“比较运算”,会对字符串中每个字符进行比较(就是比较 ascii 码值):


2      E      1

|    ï½œ     |

2      0       .      6 . 7 . 7'


由于 ‘E’ 的 ASCII 码值是 69,而 ‘0’ 的码值是 48,所以,当进行到第2个字符比较,运算就应该是结束了,由于 69>48,比较运算的结果是 True。


相对比,你可以试试以下代码:


var_dump( '2E1'>'2F1' );


返回结果是: boolean false

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-09-14
不然呢追问

o

相似回答