array_multisort() 는 다중 배열에 대해서 여러개의 배열을 한번에 정렬하거나 다차원 배열에서 내부에 포함되는 가가각의 배열을 정렬하는데 사용된다. 정렬될 때 키값도 유지된다.
입력된 배열은 행에 의해 정렬하는 테이블의 열과도 같이 생각할 수 있다. - 이는 SQL의 ORDER BY절과 그 기능이 유사하다. 첫번째 오는 배열이 먼저 정렬 된다. 배열의 행(값)
이 함수의 매개변수 구조는 약간 독특하지만, 유연하다. 처음의 매개변수는 배열이어야 하며, 다음에 나오는 각각의 매개변수는 배열이거나 혹은 다음의 글래그 리스트에 있는 정렬 플래그일 수 있다.
정렬 방법 플래그:
SORT_ASC - 오름차순으로 정렬
SORT_DESC - 내림차순으로 정렬
정렬 형태 플래그:
SORT_REGULAR - 통상적으로 아이템을 비교
SORT_NUMERIC - 수치로서 아이템을 정렬
SORT_STRING - 문자열로서 아이템을 정렬
각각의 배열에는 같은 타입의 정렬 플래그 두개가 지정될 수 없다. 배열 매개변수에 명기된 정렬 플래그는 단지 그 배열에만 적용된다 - 이는 새로운 배열이 매개변수로 오기 전에 기본값인 SORT_ASC와 SORT_REGULAR 로 리셋된다.
성공시에 참을 반환하며, 실패시에 거짓을 반환한다.
예를 들어, 정렬 후에 처음 배열은 10,"a",100,100 을 포함한다. 두번째 배열은 1,1,2,"3" 을 포함한다. 첫번째 배열의 각각의 엔트리(100 과 100)와 대응되는 두번째 배열의 엔트리 또한 정렬된다. The entries in the second array corresponding to the identical entries in the first array (100 and 100) were sorted as well.
이 예에서 정렬 후 처음 배열은 10, 100, 100, "a"(이는 문자열로 처리되어 오름차순으로 정렬.), 그리고 두번째 배열은 1, 3, "2", 1 (숫자로 처리되어 내림차순으로 정렬)을 갖는다.