자료구조 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 ) )