String1按字母顺序对数组进行排序的最佳方法是什么?键编号应始终为数字。
之前:
Key | String1 Int1 String2 Int2
--------------------------------------
0 | Alligator 3 Cake 7
1 | Crocodile 17 foobar 9
2 | Bear 1 test 6
3 | Aardvark 2 lolwhat 3
后:
Key | String1 Int1 String2 Int2
--------------------------------------
0 | Aardvark 2 lolwhat 3
1 | Alligator 3 Cake 7
2 | Bear 1 test 6
3 | Crocodile 17 foobar 9
基本上,我有一个数组,其中包含一堆数组,如何使用特定元素按字母顺序对第一个数组中的数组进行排序?
答案 0 :(得分:1)
您可能需要usort
来定义比较器回调函数。
答案 1 :(得分:1)
您需要一个比较函数,如下所示:
function compare($a, $b)
{
if ($a['String1'] < $b['String1'])
return -1;
if ($a['String1'] > $b['String1'])
return 1;
// At this point the strings are identical and you can go into
// a second value to compare something else if you wish
if ($a['String2'] < $b['String2'])
return -1;
if ($a['String2'] > $b['String2'])
return 1;
// as long as you cover the three situations you are fine.
return 0
}
答案 2 :(得分:0)
function str1cmp($a, $b) {
return strcmp($a['string1'], $b['string1']);
}
usort($array, 'str1cmp');