자료구조 Ds\Map::ksort

(PECL ds >= 1.0.0)

Ds\Map::ksort — 키를 기준으로 map을 제자리에서 정렬합니다.


설명

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

선택적 comparator 함수를 사용하여 키를 기준으로 map을 제자리에서 정렬합니다.


매개변수

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

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

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


반환 값

값이 반환되지 않습니다.


Examples

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

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

print_r($map);
?>
                  
                

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

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::ksort() 예제

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

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

print_r($map);
?>
                  
                

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

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
        )

)