我正在编写一个排序函数(使用 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
演示!