결과 실행: 배열(5) { [0]=> int(0) [1]=> int(10) [2]=> int(50) [3]=> int(80) [4]=> int(100) } 배열(5) { [0]=> 문자열(1) “z” [1]=> 문자열(1) “e” [2]=> 문자열(1) “q” [3]=> 문자열(1) “f” [4]=> 문자열(1) “c” } 분명히 원래 배열 b의 다섯 번째 요소였던 z가 1위를 차지했습니다. 사실 명확히 하기 위해 array_multisort()는 먼저 키 값의 크기에 따라 첫 번째 배열을 정렬한 다음 첫 번째 배열의 조정 전략에 따라 다른 배열을 조정합니다. 세 번째 요소가 먼저 배치됩니다. , 두 번째 요소가 두 번째 위치에 배치됩니다... - 사실 이 다차원 배열 정렬 알고리즘의 가장 기본적인 구현입니다! 그러나 두 배열의 요소 수는 동일해야 합니다. 그렇지 않으면 경고 메시지가 나타납니다. 경고: array_multisort() [function.array-multisort]: …… 에서 배열 크기가 일치하지 않습니다.좋아, 위의 모든 사람들이 이 기능을 사용할 수 있기를 바랍니다. 중요한 점에 대해 이야기해 보겠습니다. array_multisort()는 나중에 프로젝트를 수행할 때 이 함수가 매우 유용할 것입니다. 먼저 다차원 배열의 각 요소[배열]을 정렬하는 방법을 살펴보겠습니다. 매우 간단하지만 SQL에 대해 조금이라도 알고 있다면 설명해야 할 몇 가지 매개 변수가 있습니다. 아마 한 눈에 이해가 되실 겁니다.
설명: 먼저 SORT_NUMERIC을 사용하여 $ab[0]이 숫자 유형으로 정렬됨을 선언하고 SORT_DESC 선언 순서는 역순(큰 것부터 작은 것 순)이고, $ab[1]을 문자열 형태로 정렬하는데 그 순서는 오름차순(순서)이다. $ab 배열의 최종 정렬 결과는 이 둘을 조합한 것입니다. 먼저 $ab[0]의 역순으로 정렬하면 $ab[0]에 같은 크기의 값이 있으면 정렬됩니다. $ab[1] 순서로 출력 결과는 다음과 같습니다. 배열( [0] => 배열 ( [0] => 100 [1] => 7 [2] => 7 [3] => 4 [4] => 2 ) [1] => 배열( [0] => ab [1] => ag [2] => ap [3] => ad [4] => ac ) ) 데이터베이스에서 order by를 사용하는 것과 매우 유사합니까? 사실, 거의 똑같습니다! 이제 좀 더 실용적인 예를 살펴보겠습니다.
이 예의 $array[] 배열은 데이터베이스에서 읽은 레코드를 기반으로 구성됩니다. 이제 나이가 큰 것부터 작은 것 순으로 정렬됩니다. 이름. 이런 종류의 정렬은 앞으로 자주 사용하게 될 것입니다. array_multisort()에 필요한 정렬 매개변수는 열이어야 하기 때문에 foreach를 사용하여 이 배열의 수명과 이름을 읽습니다. 위의 예와 마찬가지로 정렬을 위해서는 마지막 매개변수 $array를 확인해야 합니다. 예, 처음 두 매개변수는 정렬해야 하는 PHP 배열과 관련이 없기 때문에 정렬할 배열을 선언해야 합니다. 실제로는 $array의 데이터($array에서 추출한 열)이지만 정렬에는 물론 열이 필요하며 정렬에 사용되는 행 데이터를 본 적이 없습니다! 우리가 생각한 대로 출력은 다음과 같습니다. 배열( [0] => 배열 ( [나이] => 22 [이름] => di ) [1] => 배열 ( [나이] => 21 [이름] => ai ) [2] => 배열 ( [나이] => 20 [이름] => ci ) [3] => 배열 ( [나이] => 20 [이름] => li ) ) 사실 매우 간단합니다. 단지 대문자를 사용해야 하는 몇 가지 매개변수가 약간 짜증스러울 뿐입니다! 조금 이해하기 어렵지만, 이해해 주시면 앞으로도 큰 도움이 될 것입니다! 충수: 정렬 순서 플래그: SORT_ASC - 오름차순으로 정렬 SORT_DESC – 내림차순으로 정렬 정렬 유형 플래그: SORT_REGULAR – 일반적인 방법으로 항목을 비교합니다. SORT_NUMERIC – 항목을 숫자로 비교합니다. SORT_STRING – 문자열로 항목 비교 각 배열 뒤에는 동일한 유형의 정렬 플래그 두 개를 지정할 수 없습니다. 각 배열 뒤에 지정된 정렬 플래그는 해당 배열에 대해서만 유효합니다. 이전에는 기본값 SORT_ASC 및 SORT_REGULAR이 사용되었습니다. 주목할 만한 또 다른 점: 이 함수는 숫자 인덱스를 변경하고 다른 인덱스는 변경하지 않습니다! >>> 자세한 내용은 PHP 배열 정렬 방법의 전체 목록을 참조하세요. |