按值排序数组但键索引

时间:2016-04-14 15:54:05

标签: php arrays

我有一个像这样的数组:

$categories =

Array ( 
    [name3] => Array ( [name] => Title 3 [order] => 3 ) 
    [name1] => Array ( [name] => Title 1 [order] => 1 ) 
    [name2] => Array ( [name] => Title 2 [order] => 2 ) 
)

我希望按order对数组进行排序,但仍保持索引名称相同。

我尝试了这个,但索引被覆盖了数字。

usort($categories, function ($item1, $item2) {
    if ($item1['order'] == $item2['order']) return 0;
    return $item1['order'] < $item2['order'] ? -1 : 1;
});

任何人都知道这是否可行?

1 个答案:

答案 0 :(得分:2)

使用 uasort 代替 usort - 它会维护密钥

http://php.net/manual/en/function.uasort.php