1

我需要按降序对数组进行排序。我使用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'];
4

1 回答 1

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值。

于 2012-09-09T22:41:36.433 回答