Ds\Map::sorted
En esta página
Ds\Map::sorted
Devuelve una copia, ordenada por valor
Descripción#
public Ds\Map::sorted([callable $comparator]): Ds\Map
```php
Devuelve una copia, ordenada por valor utilizando una función `comparator` opcional.
## Parámetros
`comparator`
La función de comparación debe retornar un entero menor que, igual a, o mayor que 0 si el primer argumento es considerado, respectivamente, menor que, igual a, o mayor que el segundo.
```php
callback(mixed $a, mixed $b): int
[!CAUTION] Devolver valores no enteros (como
float) desde la función de comparación resultará en una conversión interna del valor de retorno de la retrollamada aint. Así, valores como0.99y0.1serán convertidos ambos al valor entero0, por lo que se compararán como iguales.
Valores devueltos#
Devuelve una copia del mapa, ordenada por valor.
Ejemplos#
Ejemplo de Ds\Map::sort
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
print_r($map->sorted());
?>
Resultado del ejemplo anterior es similar 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
)
)
Ejemplo de Ds\Map::sort utilizando un comparador
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
// Invertir
$sorted = $map->sorted(function($a, $b) {
return $b <=> $a;
});
print_r($sorted);
?>
Resultado del ejemplo anterior es similar 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
)
)