2017-12-10 2 views
0

내가 먼저 배열을 정렬하려고하고 그것을 알파벳 순서먼저 키를 기준으로 배열을 정렬하는 방법은 무엇입니까?

$testArray[test] = 'London'; 
    $testArray[fsee] = 'Cardiff'; 
    $testArray[pol] = 'Edinburgh'; 
    $testArray[bede] = 'Manchester'; 
    asort($testArray); 
    foreach ($testArray as $key => $value) { 
     echo $key . ' -- ' . $value . '<br/>'; 
    } 

를 표시 그리고 그것은

bede -- Manchester 
fsee -- Cardiff 
pol -- Edinburgh 
test -- London 
+1

사이드 노트 : 키를 할당 할 때 키가 최소한 작은 따옴표로 묶여 있는지 확인하십시오. 그렇지 않으면 php는 먼저 상수인지 확인한 다음 그렇지 않은 것으로 가정합니다. 가득 차있는 오류보고와 함께 많은 경고를 던집니다. – IncredibleHat

+0

여기에 질문과 같은 예제가 있습니다.이 https://stackoverflow.com/a/7388926/4499393 – Batikan

+0

@IncredibleHat 내 PHP 루프에서 다음을 사용하고 있습니다. 이제 단일 레이블에 $ label을 설정해야하는지 잘 모르겠습니다. 따옴표'if (! array_key_exists ($ label, $ sums)) { $ sums [$ label] = 0; }' – alex

답변

5

사용 ksort 반환 그래서, 일종의 테스트, fsee, 폴 및 비드에 알파벳순 좋아하고 기능. 당신은 매우 빠르게 키 케이스를 무시하고 정렬을 수행하려면

ksort($testArray); 
0

(당신의 키가 너무 대소 문자를 구분 비교는이 상황에서 잘해야 모두 소문자 것 같다)이 사용

uksort($testArray, "strnatcasecmp"); 
관련 문제