# Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sortedReturns a copy, sorted by value.

### 설명

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

Returns a copy, sorted by value 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 value.

### 예제

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

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

위 예제의 출력 예시:

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

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

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

)
```

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

``` <?php\$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);// Reverse\$sorted = \$map->sorted(function(\$a, \$b) {    return \$b <=> \$a;});print_r(\$sorted);?> ```

위 예제의 출력 예시:

```Ds\Map Object
(
[0] => Ds\Pair Object
(
[key] => b
[value] => 3
)

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

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

)
```