2011-09-14 11 views
-1

목록에 약 50 개의 항목이 있습니다. 나는 그들의 가치를 algorythm을 사용하여 계산하고 배열에 그들의 가치를 더한다. 이제PHP : 배열 순서

$vals = (51, 23, 77, 3, 8, 31, 17, 102, 87, (...)); 

가 어떻게 배열의 3 개 가장 높은 값들은 키를 얻을 수 있습니다 : 루프가 위에있을 때

은 가정하자 나는이 얻을? 위의 예에서

, I는 얻고 자하는 것이다 :

  • 8 (102 키)
  • 9 (87 키)
  • 3 (77 키)

추신 : 나는 그 데이터를 DB에 삽입하고 Order 절로 선택하고 싶지 않습니다. 더 쉬운 방법이있을 것입니다. PHP에서 배열이 그들을 내려

답변

6
$vals = array(51, 23, 77, 3, 8, 31, 17, 102, 87); 
arsort($vals);  
$keys = array_slice(array_keys($vals), 0, 3); 

var_dump($keys); // array(3) { [0]=> int(7) [1]=> int(8) [2]=> int(2) } 

결과는 당신이 얻을하고자하는 동일하지 않습니다!

arsort($vals); 
echo "$vals[0], $vals[1], $vals[2]"; 
+0

와우! 도움을 많이 주셔서 감사합니다. –

+0

값 대신 키를 가져올 수 있습니까? –

2

종류의, 수행, 3. 첫번째 값을 추출 0 인덱스 때문에