Devuelve una copia, ordenada por valor

# Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sorted — Devuelve una copia, ordenada por valor

### Descripción

public function Ds\Map::sorted(callable `$comparator` = ?): Ds\Map

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.
  function callback(mixed `$a`, mixed `$b`): int
  Precaución

  Retornar valores no-entero desde la función de comparación, tales como float, resultará en una conversión interna del valor de retorno del callback a int. Así, valores tales como `0.99` y `0.1` serán convertidos ambos a un valor entero de `0`, lo que comparará tales valores como iguales.

### Valores devueltos

Devuelve una copia del mapa, ordenada por valor.

### Ejemplos

Ejemplo #1 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 #2 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
            )

    )

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open