배열 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 구현을 사용합니다. 피벗은 파티션의 중간에서 선택되어 이미 정렬된 배열에 최적의 시간이 됩니다. 그러나 이것은 의존해서는 안 되는 구현 세부 사항입니다.

경고 flagsSORT_REGULAR인 경우 sort()가 예기치 않은 결과를 생성할 수 있으므로 혼합 유형 값으로 배열을 정렬할 때 주의하십시오.


기타