(PECL ds >= 1.0.0)
Ds\Map::sorted — Retorna uma cópia, ordenada por valor
Retorna uma cópia, ordenada por valor, usando uma função de comparação comparator opcional.
comparatorA função de comparação deve retornar um inteiro menor que, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor que, igual ou maior que o segundo.
Retorna uma cópia do mapa, ordenada por valor.
Exemplo #1 Exemplo de Ds\Map::sort()
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
print_r($map->sorted());
?>O exemplo acima produzirá algo semelhante a:
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
)
)
Exemplo #2 Exemplo de Ds\Map::sort() usando um comparador
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
// Reverse
$sorted = $map->sorted(function($a, $b) {
return $b <=> $a;
});
print_r($sorted);
?>O exemplo acima produzirá algo semelhante a:
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
)
)