PHP 如何将字符串与比较运算符进行比较?

2022-08-31 00:39:50

我正在将字符串与比较运算符进行比较。

我需要对以下两个比较及其结果进行某种解释。

if('ai' > 'i')
{
    echo 'Yes';
}
else
{
    echo 'No';
}

output: No

为什么这些输出方式?

if('ia' > 'i')
{
    echo 'Yes';
}
else
{
    echo 'No';
}

Output: Yes

再说一遍,为什么?

也许我忘记了一些基础知识,但我真的需要对这些比较示例进行一些解释才能理解此输出。


答案 1

PHP 将使用基于字母顺序的大于和小于比较运算符来比较 alpha 字符串。

  • 在第一个示例中,按字母顺序排在前面,因此(大于)的检验是 - 在顺序中较早的位置被认为是“小于”而不是“大于”。aii>false

  • 在第二个示例中,在字母顺序之后,因此(大于)的检验是 - 在顺序的后面被认为是“大于”。iai>true


答案 2

扩展coderabbi的答案

它与在某些应用程序中按编号排序并获得如下结果时的逻辑类型相同:

  • 0
  • 1
  • 105
  • 11
  • 2
  • 21
  • 3
  • 333
  • 34

它不是基于字符串长度,而是基于字符串顺序的每个字符。


推荐