PHP의 natcasesort() 함수는 배열을 "자연 순서(natural order)" 알고리즘에 따라 정렬하며, 이때 영문자의 대소문자를 구분하지 않습니다.
참고: 일반적인 정렬 함수와 달리, natcasesort()는 문자열 내의 숫자를 사람이 인식하는 방식과 동일하게 비교합니다. 예를 들어 'Rank10'은 'Rank2'보다 뒤에 위치하며, 'rank1'과 'Rank1'은 동일한 값으로 취급됩니다.
문법(Syntax)
natcasesort(arr)
매개변수(Parameters)
arr − 정렬하고자 하는 배열입니다.
반환값(Return)
natcasesort() 함수는 정렬에 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
또한 이 함수는 배열의 키(key)와 값(value) 간의 연관 관계를 유지한다는 특징이 있습니다. 즉, 정렬 후에도 원래의 인덱스가 그대로 보존됩니다.
예제(Example)
다음은 natcasesort() 함수를 사용한 예제입니다.
<?php
$stu_rank = array("Rank10","Rank2","rank3","rank1","Rank7","rank4");
natcasesort($stu_rank);
print_r($stu_rank);
?>출력 결과(Output)
아래 출력 결과에서 대소문자를 구분하지 않고 자연 순서대로 정렬된 것을 확인할 수 있습니다.
Array ( [3] => rank1 [1] => Rank2 [2] => rank3 [5] => rank4 [4] => Rank7 [0] => Rank10 )
결과를 살펴보면 원래 배열에서 'Rank10'이 첫 번째 요소였음에도 불구하고, 자연 순서 정렬 후에는 마지막에 배치된 것을 볼 수 있습니다. 또한 각 값의 원래 인덱스([0], [1], [2] 등)가 그대로 유지되는 점도 주목할 만합니다.