2014-04-04 1 views
-1

이것이 왜 작동하는지 궁금합니다. 다차원 연관 배열이 있는데 정렬을 적용하면 이름순으로 정렬됩니까?정렬이 연관 배열에서 작동하는 이유는 무엇입니까?

$data[] = array(
    'name' => $row2['name'], 
    'email' => $row2['email'], 
    'phone' => $row2['phone'], 
    'org' => $row2['org'] 
); 

sort($data); 
echo '<xmp>'; 
print_R($data); 
echo '</xmp>'; 
+1

* "이름별로 정렬 하시겠습니까?"* --- 귀하의 결과는 무엇입니까? –

+1

의도 한 결과를받을 수 있습니까? – Sam

+0

그것은 첫 번째 배열의 값에 따라 정렬 된 것 같습니다.이 경우에는 'name'입니다. – ponciste

답변

0

이 동작 원하지 않는다면 당신은 다차원 배열에 sort()를 사용하지 않아야합니다 :

  1. 배열이 짧은 배열이
  2. 이러한 경우 최소 인과 비교으로 분류되어 있습니다를 동일한 길이를 가지며 동일한 키가없는 경우에는 비교할 수 없습니다.
  3. 두 키가 같은 길이이고 두 배열에서 키가 있으면 (이 예제에서 이름) 가장 작은 값을 가진 배열 열쇠가 가장 작다.
  4. 추가 키 3을 반복하십시오.
관련 문제