对非关联的多维数组进行排序

时间:2015-03-05 17:43:07

标签: php arrays

我发现很多关于排序关联数组的信息,但很少关于排序非关联数组。我的数组以这种方式结构化/填充:

$my_array = array();
$my_array[0][0] = 'whatever3';
$my_array[0][1] = 3
$my_array[1][0] = 'whatever2';
$my_array[1][1] = 2
$my_array[2][0] = 'whatever1';
$my_array[2][1] = 1

我想按第二个值对其进行排序:

$my_array[0][0] = 'whatever1';
$my_array[0][1] = 1;
$my_array[1][0] = 'whatever2';
$my_array[1][1] = 2;
$my_array[2][0] = 'whatever3';
$my_array[2][1] = 3;

考虑到我的数组不是关联的,怎么能实现呢?

1 个答案:

答案 0 :(得分:2)

怎么样:

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

使用usort,您提供必须返回的自定义比较函数:

  • 0,如果必须将这些元素视为相等。
  • 负数,如果第一个元素必须小于第二个元素。
  • 正数,如果第一个元素必须被认为大于第二个元素。

在这种情况下,我们选择比较$combined数组的每个项目的第二个元素。