【问题标题】:Sort multidimensional array by index [duplicate]按索引对多维数组进行排序[重复]
【发布时间】:2018-09-22 23:17:04
【问题描述】:

假设我们有以下数组:

$edibles = [

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

];

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

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

提前谢谢你!

【问题讨论】:

  • 当然,如果您说的是 250、300、270 等,数组键是 1,正如您所说。
  • 发布预期结果..

标签: php arrays sorting


【解决方案1】:

使用usort:

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

【讨论】:

  • 谢谢。那篇文章正是我要找的。将在可用时接受答案。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 2015-11-02
    • 2018-02-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    相关资源
    最近更新 更多