按降序对数组进行排序

时间:2012-09-09 22:37:11

标签: php arrays sorting

我需要按降序对数组进行排序。我使用asort来保存对密钥的正确引用。但是,$ind为空。为什么呢?

$selected = array();

for ($i=0; $i<10; $i++) {
    $selected[] = array('ind' => $i, 'rank' => rand(0,10));
}

asort($selected, SORT_NUMERIC);

$ind = $selected['ind'];

1 个答案:

答案 0 :(得分:0)

在你的for()循环后,你有类似的东西:

Array ( 
   [0] => Array (
      [ind] => NUM
      [rank] => NUM 
   [1] => Array (
      [ind] => NUM
      [rank] => NUM
   etcetcetc....
)

这称为多维数组,您可以像处理一维数组一样访问内部数组。

您可以使用$array[0]['ind']或甚至foreach()循环访问它,以便获得所有值。

$ind = array();
foreach($array as $line) {
   $ind[] = $line['ind'];
}

现在,$ind数组包含一维数组中的所有值,您可以使用$ind[0]$ind[1]访问这些值,并为您提供ind值。