자료구조 Ds\Map::ksorted

(사용 가능한 버전 정보가 없으며 Git에만 있을 수 있음)

Ds\Map::ksorted — 키별로 정렬된 복사본을 반환합니다.


설명

public Ds\Map::ksorted(callable $comparator = ?): Ds\Map

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


매개변수

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

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

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


반환 값

키로 정렬된 map 사본을 반환합니다.


Examples

예제 #1 Ds\Map::ksorted() 예제

                  
<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);

print_r($map->ksorted());
?>
                  
                

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

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
                

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

                  
<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$sorted = $map->ksorted(function($a, $b) {
    return $b <=> $a;
});

print_r($sorted);
?>
                  
                

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

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)