为什么"a"> "b"
的计算结果为 false?
由于字母的原因,这是当然的。但是 PHP 如何知道 a
小于 b
呢?
var_dump("a" > "b"); //boolean false
最佳答案
But how does php knows that "a" is smaller then "b"?
PHP 采用 ASCII字符的值并进行比较。这就是 PHP 决定哪个字符比另一个字符“小”的方式。
ASCII 表:
所以在你的例子中:
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
的更多信息.
关于php - 为什么 "a"> "b"的计算结果为 false? (PHP如何比较字符串字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014191/