본문 바로가기

Programing (프로그래밍)/PHP 및 그누보드

PHP - 배열 정렬 9가지 방법 sort() rsort() asort() arsort() ksort() krsort() usort() uasort() uksort()

728x90
반응형

1. sort(): 배열을 오름차순으로 정렬합니다. 원본 배열의 인덱스를 변경합니다.

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5);
sort($numbers);
print_r($numbers);

Array
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 5
    [7] => 6
    [8] => 9
)


2. rsort(): 배열을 내림차순으로 정렬합니다. 원본 배열의 인덱스를 변경합니다.

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5);
rsort($numbers);
print_r($numbers);

Array
(
    [0] => 9
    [1] => 6
    [2] => 5
    [3] => 5
    [4] => 4
    [5] => 3
    [6] => 2
    [7] => 1
    [8] => 1
)


3. asort(): 연관 배열을 값으로 오름차순으로 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$fruits = array("사과" => 2, "바나나" => 3, "딸기" => 1, "오렌지" => 4);
asort($fruits);
print_r($fruits);

Array
(
    [딸기] => 1
    [사과] => 2
    [바나나] => 3
    [오렌지] => 4
)


4. arsort(): 연관 배열을 값으로 내림차순으로 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$fruits = array("사과" => 2, "바나나" => 3, "딸기" => 1, "오렌지" => 4);
arsort($fruits);
print_r($fruits);

Array
(
    [오렌지] => 4
    [바나나] => 3
    [사과] => 2
    [딸기] => 1
)


5. ksort(): 연관 배열을 키로 오름차순으로 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$fruits = array("사과" => 2, "바나나" => 3, "딸기" => 1, "오렌지" => 4);
ksort($fruits);
print_r($fruits);

Array
(
    [바나나] => 3
    [딸기] => 1
    [사과] => 2
    [오렌지] => 4
)


6. krsort(): 연관 배열을 키로 내림차순으로 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$fruits = array("사과" => 2, "바나나" => 3, "딸기" => 1, "오렌지" => 4);
krsort($fruits);
print_r($fruits);

Array
(
    [오렌지] => 4
    [딸기] => 1
    [바나나] => 3
    [사과] => 2
)


7. usort(): 사용자 정의 함수를 이용해 배열을 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$numbers = array(3, 1, 4, 1, 5, 9, 2, 6, 5);
usort($numbers, function($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});
print_r($numbers);

Array
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 5
    [7] => 6
    [8] => 9
)


8. uasort(): 사용자 정의 함수를 이용해 연관 배열을 값으로 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$fruits = array("사과" => 2, "바나나" => 3, "딸기" => 1, "오렌지" => 4);
uasort($fruits, function($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});
print_r($fruits);

Array
(
    [딸기] => 1
    [사과] => 2
    [바나나] => 3
    [오렌지] => 4
)


9. uksort(): 사용자 정의 함수를 이용해 연관 배열을 키로 정렬합니다. 원본 배열의 인덱스를 유지합니다.

$fruits = array("사과" => 2, "바나나" => 3, "딸기" => 1, "오렌지" => 4);
uksort($fruits, function($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});
print_r($fruits);

Array
(
    [바나나] => 3
    [딸기] => 1
    [사과] => 2
    [오렌지] => 4
)

 

728x90
반응형