array_multisort — 여러 배열 또는 다차원 배열을 정렬합니다. 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
입력 배열은 테이블 열로 처리되며 ORDER BY와 유사합니다. SQL 함수 절. 첫 번째 배열은 정렬할 기본 배열입니다. 배열의 행(값)이 동일한 것으로 비교되면 다음 입력 배열의 해당 값의 크기에 따라 정렬됩니다. ?
첫 번째 매개변수는 배열이어야 합니다. 다음 인수는 각각 배열이거나 아래 나열된 정렬 플래그 중 하나일 수 있습니다.
정렬 순서 플래그:
? SORT_ASC – 오름차순으로 정렬
? SORT_DESC – 내림차순으로 정렬
?
SORT_REGULAR - 일반적인 방법으로 항목 비교 ?SORT_NUMERIC - 숫자로 항목 비교 ?SORT_STRING - 문자열로 항목 비교 SORT_STRING과 SORT_REGULAR는 둘 다입니다. 대문자와 소문자를 구분하며 대문자가 소문자보다 먼저 정렬됩니다. ??두 개의 유사한 정렬 플래그를 각 배열 뒤에 지정할 수 없습니다. 각 배열 뒤에 지정된 정렬 플래그는 해당 배열에 대해서만 유효합니다. 이전에는 기본값 SORT_ASC 및 SORT_REGULAR이 사용되었습니다. // 문자열 키 이름은 유지되지만 숫자 키는 0부터 시작하여 1씩 증가하여 다시 색인화됩니다. 2차원 배열을 정렬하려면 ID는 내림차순, 이름은 오름차순이어야 하나요?<code><span>$arrData</span> = [ [<span>'id'</span> => <span>1</span>, <span>'name'</span> => <span>'haha'</span>], [<span>'id'</span> => <span>0</span>, <span>'name'</span> => <span>'aaha'</span>], [<span>'id'</span> => <span>2</span>, <span>'name'</span> => <span>'caha'</span>], [<span>'id'</span> => <span>4</span>, <span>'name'</span> => <span>'zaha'</span>], [<span>'id'</span> => <span>16</span>, <span>'name'</span> => <span>'daha'</span>], ]; <span>/* 现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。 ? */</span><span>foreach</span>(<span>$arrData</span><span>as</span><span>$key</span>=><span>$value</span>) {? <span>$id</span>[<span>$key</span>]=<span>$value</span>[<span>'id'</span>]; <span>$arr</span>[<span>$key</span>]=<span>$value</span>[<span>'name'</span>]; } <span>// 把排序数组 $arrData 作为最后一个参数</span>?array_multisort(<span>$id</span>, SORT_DESC, <span>$arr</span>, SORT_ASC, <span>$arrData</span>); print_r(<span>$arrData</span>);</code>