为什么“a”> “b”评估为假? (PHP如何比较字符串字符)

时间:2015-03-12 15:43:20

标签: php character string-comparison

为什么"a" > "b"评估为false?

由于字母表,它是在外面。但PHP如何知道a小于b

var_dump("a" > "b"); //boolean false

1 个答案:

答案 0 :(得分:2)

  

但是php怎么知道“a”比“b”小?

PHP获取字符的ASCII值并进行比较。所以这就是PHP决定哪个字符比另一个字符“更小”的原因。

ASCII表:

ASCII table

所以在你的例子中:

a = 97  //'97' is the ASCII value from 'a'
b = 98  //'98' is the ASCII value from 'b'

var_dump("a" > "b"); //boolean false
var_dump(97 > 98);   //The same

您可以使用ord()获取字符的ASCII值,例如

echo ord("a");  //output 97

相反的是chr(),它为您提供ASCII值的字符,例如

echo chr(97);  //output a

有关ASCII的更多信息。