php - 为什么 "a"> "b"的计算结果为 false? (PHP如何比较字符串字符)

标签 php character string-comparison

为什么"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 表:

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 的更多信息.

关于php - 为什么 "a"> "b"的计算结果为 false? (PHP如何比较字符串字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014191/

相关文章:

python - 比较两个不同的 python 计数器对象

php - 在 Symfony 3 Controller 中获取请求和 session

php - file_exists() 用于文件名中包含 (&) 的文件

php - 我如何找出一个字符有多少字节?

string - SAS - 如果长度一定,则替换字符串中的第 n 个单词

php - PHP 宇宙飞船运算符 <=> 如何精确地处理字符串?

php - Laravel URL 助手 : How to generate a perfect URL with query parameters and hash

php - 如何将 SQL 查询的所有结果存储在多维数组中?

php - fatal error : Maximum execution time of 30 seconds exceeded

python - 如何将一个字符串与一组其他字符串进行比较