자료구조 Ds\Vector::sorted

(PECL ds >= 1.0.0)

Ds\Vector::sorted — 정렬된 복사본을 반환합니다.


설명

public Ds\Vector::sorted(callable $comparator = ?): Ds\Vector

선택적 comparator 함수를 사용하여 정렬된 복사본을 반환합니다.


매개변수

comparator
비교 함수는 첫 번째 인수가 두 번째 인수보다 각각 작거나 같거나 큰 것으로 간주되는 경우 0보다 작거나 같거나 큰 정수를 반환해야 합니다.

callback(mixed $a, mixed $b): int

주의 float와 같은 비교 함수에서 정수가 아닌 값을 반환하면 내부적으로 콜백의 반환 값이 int로 변환됩니다. 따라서 0.99 및 0.1과 같은 값은 둘 다 0의 정수 값으로 캐스트되어 이러한 값을 동일한 것으로 비교합니다.


반환 값

벡터의 정렬된 복사본을 반환합니다.


Examples

예제 #1 Ds\Vector::sorted() 예제

                  
<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($vector->sorted());
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
                

예제 #2 비교기를 사용하는 Ds\Vector::sorted() 예제

                  
<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $vector->sorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)