标题是什么。特别是如果我有
$array1['name'] = 'zoo';
$array2['name'] = 'fox';
如何确定字母$array2
的名称应高于$array1
?
答案 0 :(得分:87)
使用strcmp
。如果strcmp的第一个参数按字典顺序小于第二个参数,则返回的值将为负数。如果两者相等,那么它将返回0.如果第一个在字典上大于第二个,那么将返回一个正数。
NB。您可能想要使用strcasecmp(string1,string2)
,这会忽略大小写......
答案 1 :(得分:11)
您可以将这两个字符串与strcmp
进行比较:
返回< 0如果 str1 小于 str2 ; >如果 str1 大于 str2 则为0,如果它们相等则为0。
答案 2 :(得分:6)
我有点晚了(然后我在2009年还不是程序员:-)还没有人提到这个,但你也可以简单地使用你在数字上使用的运算符。
< > <= >= == !=
以及更多
例如:
'a' > 'b'
返回false
'a' < 'b'
返回true
http://php.net/manual/en/language.operators.comparison.php
重要强>
有一个缺陷,您可以在下面的评论中找到。
答案 3 :(得分:1)
EDIT刚刚实现了来自不同数组的值,可以先array_merge但不能确定你想要的是什么
答案 4 :(得分:1)
我经常使用natsort
(Natural Sort),因为我通常只想保留数组以备日后使用。
示例:
natsort($unsorted_array);
var_dump($usorted_array); // will now be sorted.