2012-09-09 3 views
1

내림차순으로 배열을 정렬해야합니다. 열쇠에 대한 적절한 참조를 저장하기 위해 asort을 사용합니다. 그러나 $ind은 null입니다. 왜? 당신의 for() 루프 후내림차순으로 배열 정렬

$selected = array(); 

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

asort($selected, SORT_NUMERIC); 

$ind = $selected['ind']; 
+1

왜냐하면'$ selected'은 배열입니다 .... 당신은'$ selected.'의 값으로 키를 원합니다. – David

+0

$ ind = $ selected [0] [ 'ind'], $ ind = 0, $ ind = $ selected [ 'ind'] [0]이면 $ ind = null이고, $는 Array [10]입니다. –

답변

0

이 같은이 :이 다차원 배열이라고

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 값을 제공 $ind[0] 또는 $ind[1].