Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP sort() 함수 완벽 가이드 – 배열 오름차순 정렬 방법

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() 함수를 사용하는 것이 좋습니다.