如何在数组中对数组进行排序?

时间:2009-12-18 18:50:35

标签: php

我需要根据数组的一个数组值对数组中的数组进行排序。

例如:

$data = array( array( 1, "Article One", 132, 12402773, 3 ),
               array( 2, "Article Two", 251, 12519283, 5 ),
               array( 3, "Article Three", 107, 12411321, 3 ),
               array( 4, "Article Four", 501, 12228135, 4 ) );

默认情况下,如果我打印每个数组的第二个元素:

  • 第一条
  • 第二条
  • 第三条
  • 第四条

我需要通过子数组的第3个元素按降序对其进行排序。

所以它会是这样的:

  • 第四条
  • 第二条
  • 第一条
  • 第三条

因为501> 251> 132> 107。

有什么建议吗?

2 个答案:

答案 0 :(得分:8)

我通常使用usort()

function compare($a, $b) {
    return ($a[2] > $b[2]);
}

usort($data, 'compare');

答案 1 :(得分:2)