배열 sort
(PHP 4, PHP 5, PHP 7, PHP 8)
sort — 배열을 오름차순으로 정렬
설명
sort(array &$array
, int $flags
= SORT_REGULAR): bool
값을 기준으로 오름차순으로 array
을 정렬합니다.
메모: 두 구성원이 같은 것으로 비교되면 원래 순서를 유지합니다. PHP 8.0.0 이전에는 정렬된 배열의 상대적 순서가 정의되지 않았습니다.
메모: 이 함수는 array
의 요소에 새 키를 할당합니다. 단순히 키를 재정렬하는 것이 아니라 할당되었을 수 있는 기존 키를 제거합니다.
메모: 배열의 내부 포인터를 첫 번째 요소로 재설정합니다.
매개변수
array
- 입력 배열입니다.
flags
- 선택적 두 번째 매개변수
flags
는 다음 값을 사용하여 정렬 동작을 수정하는 데 사용할 수 있습니다.정렬 유형 플래그:
-
SORT_REGULAR
- 항목을 정상적으로 비교하십시오. 자세한 내용은 comparison operators 섹션에 설명되어 있습니다. -
SORT_NUMERIC
- 항목을 숫자로 비교 -
SORT_STRING
- 항목을 문자열로 비교 -
SORT_LOCALE_STRING
- 현재 로케일을 기반으로 항목을 문자열로 비교합니다. setlocale()을 사용하여 변경할 수 있는 로케일을 사용합니다. -
SORT_NATURAL
- natsort()와 같은 "자연 순서"를 사용하여 항목을 문자열로 비교 -
SORT_FLAG_CASE
- 대소문자를 구분하지 않고 문자열을 정렬하기 위해SORT_STRING
또는SORT_NATURAL
과 결합(비트 OR)할 수 있습니다.
-
반환 값
항상 true
를 반환합니다.
Examples
예제 #1 sort() 예제
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
위의 예는 다음을 출력합니다.
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
fruits은 알파벳순으로 정렬되어 있습니다.
예제 #2 대소문자를 구분하지 않는 자연 순서를 사용하는 sort() 예제
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
위의 예는 다음을 출력합니다.
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
fruits은 natcasesort()처럼 정렬되었습니다.
메모
참고: 대부분의 PHP 정렬 함수와 마찬가지로 sort()는 » Quicksort 구현을 사용합니다. 피벗은 파티션의 중간에서 선택되어 이미 정렬된 배열에 최적의 시간이 됩니다. 그러나 이것은 의존해서는 안 되는 구현 세부 사항입니다.
경고 flags
가 SORT_REGULAR
인 경우 sort()가 예기치 않은 결과를 생성할 수 있으므로 혼합 유형 값으로 배열을 정렬할 때 주의하십시오.
기타
- rsort() - 내림차순으로 배열 정렬
- 배열 정렬 함수 비교