# Ds\Map::ksorted

(No version information available, might only be in Git)

Ds\Map::ksortedReturns a copy, sorted by key.

### 설명

public Ds\Map Ds\Map::ksorted ([ callable `\$comparator` ] )

Returns a copy sorted by key, using an optional `comparator` function.

### 인수

`comparator`

이 비교 함수는 첫번째 인수가 두번째 인수보다 작거나, 같거나, 클 경우에 각각 0보다 작거나, 같거나, 큰 정수를 반환해야 합니다.

int callback ( mixed `\$a`, mixed `\$b` )
Caution

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

### 반환값

Returns a copy of the map, sorted by key.

### 예제

Example #1 Ds\Map::ksorted() example

``` <?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
)

)
```

Example #2 Ds\Map::ksorted() example using a comparator

``` <?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
)

)
```