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