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