使用 PHP 查找按字母顺序排列的第一个值


Find alphabetically first value using PHP

我正在编写一个排序函数(使用 usort),我想在那里做的部分操作是确定哪个值首先按字母顺序排列。(这只是操作的一部分,因此我不使用 natsort。这意味着我有两个字符串,我需要确定哪个是按字母顺序排列的。由于此操作是在循环中完成的,因此我希望尽可能简单地完成此操作。我可以做的一件事是从两个元素中构造一个数组并在其上使用natsort。有没有更好的方法,不涉及从两个值构造数组?

编辑:$a > $b似乎正确处理了基本情况,尽管我不确定这行为的正确性。

为此使用strcmp

从文档中:

如果 str1 小于 str2,则返回 <0>;如果 str1 大于 str2,则返回 0;如果它们相等,则返回 0。

法典:

$str1 = 'foo';
$str2 = 'bar';
if(strcmp($str1, $str2) < 0) {
  echo '$str1 comes first';
} elseif(strcmp($str1, $str2) > 0 ){
  echo '$str2 comes first';
} 

输出:

$str2 comes first

演示!