PHP의 sort() 함수는 배열의 요소들을 오름차순(ascending)으로 정렬하는 데 사용됩니다. 이 함수는 배열의 기존 키(key)를 버리고 새로운 숫자 인덱스를 할당하므로, 키-값 연관 관계를 유지해야 하는 경우에는 주의가 필요합니다.
문법(Syntax)
sort(arr, flag)
매개변수(Parameters)
arr − 정렬하고자 하는 대상 배열입니다.
flag − 정렬 방식을 지정하는 선택적 매개변수입니다. 사용 가능한 값은 다음과 같습니다.
0 = SORT_REGULAR − 기본값입니다. 항목을 일반적인 방식으로 비교하며 데이터 타입을 변경하지 않습니다.
1 = SORT_NUMERIC − 항목을 숫자로 취급하여 비교합니다.
2 = SORT_STRING − 항목을 문자열로 취급하여 비교합니다.
3 = SORT_LOCALE_STRING − 현재 로케일(locale) 설정에 기반하여 항목을 문자열로 비교합니다.
4 = SORT_NATURAL − 사람이 인식하는 자연스러운 순서(natural ordering)에 따라 항목을 문자열처럼 비교합니다.
반환값(Return)
sort() 함수는 전달받은 배열 자체를 직접 정렬하며(in-place), 정렬에 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
예제 1 – 문자열 배열 정렬
다음은 문자열 배열을 SORT_STRING 방식으로 정렬하는 예제입니다.
<?php
$arr = array("jack", "tim", "scarlett", "david");
sort($arr, SORT_STRING);
print_r($arr);
?>
출력 결과
Array (
[0] => david
[1] => jack
[2] => scarlett
[3] => tim
)
알파벳 순서대로 요소들이 오름차순으로 정렬된 것을 확인할 수 있습니다.
예제 2 – 숫자 배열 정렬
이번에는 flag 옵션 없이 기본값(SORT_REGULAR)을 사용하여 숫자 배열을 정렬해 보겠습니다.
<?php $arr = array(45, 87, 23, 66, 12, 98, 56); sort($arr); print_r($arr); ?>
출력 결과
Array (
[0] => 12
[1] => 23
[2] => 45
[3] => 56
[4] => 66
[5] => 87
[6] => 98
)
숫자 값들이 작은 것부터 큰 것 순으로 정렬되었습니다.
참고 사항
내림차순 정렬이 필요하다면 rsort() 함수를, 키-값 연관 관계를 유지하면서 정렬하려면 asort() 또는 ksort() 함수를 사용하는 것이 좋습니다.