2009-07-01 4 views
2

가 I i가 그 값에 기초하여이 정렬하고, 상기 제 4 개 값을 키 값을 취득 할 PHPPHP 연관 배열

$asd['a'] = 10; 
$asd['b'] = 1; 
$asd['c'] = 6; 
$asd['d'] = 3; 

에 연관 배열을 갖는다.

어떻게하면 PHP에서 할 수 있습니까 ???

답변

7

asort()는 인덱스의 상관 관계 유지해야한다 : 그 후

asort($asd); 

을, 간단한 foreach는 당신에게 다음 네 개의 값

$i = 0; 
foreach ($asd as $key=>$value) 
{ 
    if ($i >= 4) break; 
    // do something with $asd[$key] or $value 
    $i++; 
} 
+4

+1하지만 어딘가에있을 수 있습니다 : – Greg

+0

내림차순으로 정렬하려면 어떻게해야합니까?/ – Andromeda

+1

http://php.net/arsort –

2

asort 기능을 정렬해야합니다.

이 값을 얻으려면, 당신은 다음과 같은 코드를 사용할 수 있습니다

$myKeys = array_keys(asort($asd)); 
$myNewItems = Array(); 
for ($i = 0; $i < 4; $i++) 
    $myNewItems[$myKeys[$i]] = $asd[$myKeys[$i]]; 

적절한 키, $myNewItems에 처음 모피 항목을 넣어 순서를 정렬합니다 어느.

5

다른 답변에 대한 대안을 얻을 수 있습니다. 루프가없는이 하나

asort($asd); 
$top_four_keys = array_slice(array_keys($asd), 0, 4); 
0

내가 추가하고 싶습니다 ...

asort($asd,SORT_NUMERIC); 
$top_four_keys=array_slice(array_keys($asd), 0, 4); 

내림차순의 경우는 :

arsort($fruits,_SORT_NUMERIC); 
$top_four_keys=array_slice(array_keys($asd), 0, 4); 

당신은 경우에 SORT_NUMERIC 매개 변수, 을 사용해야 할 수도 있습니다 예기치 않은 배열이 있습니다.