본문 바로가기

Programming/Etc.

PHP : natsort() Natural order sorting 로 숫자를 제대로 정렬

꽤 유용한 함수를 발견했습니다.

사실 이전부터 있었던 거지만 잘 사용하진 않았네요...

natsort는 배열을 사람이 정렬한것 처럼 구현해주는 알고리즘입니다. 사람이 정렬한것처럼 보여지는 알고리즘을 "natural ordering" 이라고 합니다.
예제 코드를 보시고 사용법을 확인해 보시기 바랍니다. ^^
예제는 PHP 메뉴얼에서 ^^;

Source :

<?php
$array1
= $array2 = array ("img12.png", "img10.png", "img2.png", "img1.png");

sort($array1);
echo
"Standard sorting\n";
print_r($array1);

natsort($array2);
echo
"\nNatural order sorting\n";
print_r($array2);
?>

Output:
Standard sorting
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order sorting
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Natural Ordering에 대한 자세한 내용은 http://www.naturalordersort.org/ 참조하세요 ^^/"
반응형