Ds\Map::ksorted

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

Ds\Map::ksortedDevuelve una copia, ordenada por clave

Descripción

public Ds\Map::ksorted(callable $comparator = ?): Ds\Map

Devuelve una copia ordenada por clave, 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.

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 clave.

Ejemplos

Ejemplo #1 Ejemplo de Ds\Map::ksorted()

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

print_r($map->ksorted());
?>

Resultado del ejemplo anterior es similar a :

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
        )

)

Ejemplo #2 Ejemplo de Ds\Map::ksorted() utilizando un comparador

<?php
$map
= new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Invertir
$sorted = $map->ksorted(function($a, $b) {
return
$b <=> $a;
});

print_r($sorted);
?>

Resultado del ejemplo anterior es similar a :

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
        )

)
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top