按索引对多维数组进行排序

时间:2018-04-12 17:30:32

标签: php arrays sorting

假设我们有以下数组:

$edibles = [

    ['Apple', 250],
    ['Pear', 300],
    ['Cherry', 270],
    ['Tomato', 300],
    ['Carrot', 240],
    ['Potato', 170]

];

通过项目[1] 对这些项目进行排序的最佳方法是什么?

没有数组键,这就是谷歌搜索结果对我没有多大帮助的原因。

提前谢谢!

2 个答案:

答案 0 :(得分:3)

使用usort

usort( $edibles, function ( $a, $b ) {
  return $a[1] - $b[1];
} );

答案 1 :(得分:2)

您可以从索引1中提取值,对其进行排序,然后使用array_multisort()对其进行排序:

array_multisort(array_column($edibles, 1), SORT_ASC, $edibles);