Forum und email

array_multisort

(PHP 4, PHP 5)

array_multisort — 여러개의 배열 또는 다차원 배열을 정렬한다

설명

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )

array_multisort()는 한번에 여러개의 배열을 정렬하거나 다차원 배열은 내부에 포함되는 각 차원 중 한가지 배열을 정렬하는데 사용될수 있다. 정렬시에 키 조합은 유지된다.

입력되는 배열은 행(rows)에 의해 정렬되도록 테이블의 열(column)로 취급된다 - SQL ORDER BY 절의 기능과 비슷하다. 첫번째 배열은 정렬을 위한 기본(primary) 배열이다. 같은 배열과 배교되는 그 배열의 행(rows)(값)은 다음에 입력되는 배열들에 의해 정렬된다.

이 함수의 매개변수 구조는 약간 독특하면서도 유연하다. 제일 처음에 오는 매개변수는 배열이어야 하며, 다음에 오는 각각의 매개변수는 배열일수도 있고 다음 리스트의 정렬 플래그도 될수 있다.

정렬 방법 플래그:

  • SORT_ASC - 오름차순으로 정렬
  • SORT_DESC - 내림차순으로 정렬

정렬 형태 플래그:

  • SORT_REGULAR - 통상적으로 아이템을 비교
  • SORT_NUMERIC - 수치로서 아이템을 정렬
  • SORT_STRING - 문자열로서 아이템을 정렬

각 배열 뒤에 같은 타입의 두가지 정렬 플래그를 모두 지정할 수 없다. 하나의 배열 매개변수 뒤에 지정되는 정렬 플래그는 오직 그 배열에만 적용된다 - 이는 새로운 배열 매개변수가 오기 전에 기본값인 SORT_ASC 와 SORT_REGULAR 로 리셋된다.

성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.

Example#1 여러 배열 정렬

<?php
$ar1 
= array ("10"100100"a");
$ar2 = array (13"2"1);
array_multisort ($ar1$ar2);
?>

위 예제코드에서, 정렬후에는, 첫번째 배열은 10, "a", 100, 100을 포함할 것이다. 두번째 배열은 1, 1, "2", 3을 포함할 것이다. 첫번째 배열의 동일한 엔트리 (100과 100)와 대응되는 두번째의 엔트리도 정렬될것이다.

Example#2 다차원 배열 정렬

<?php
$ar 
= array (array ("10"100100"a"), array (13"2"1));
array_multisort ($ar[0], SORT_ASCSORT_STRING,
                 
$ar[1], SORT_NUMERICSORT_DESC);
?>

위 예제코드에서, 정렬후에는, 첫번째 배열은 10, 100, 100, "a"를 포함 (오름차순으로 문자열을 정렬)하고, 두번째 배열은 1, 3, "2", 1 (내림차순으로 숫자로 정렬)을 포함할 것이다.