Ds\Map::sorted

(PECL ds >= 1.0.0)

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

Description

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

Returns a copy, sorted by value using an optional comparator function.

Liste de paramètres

comparator

La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second. Notez qu'avant PHP 7.0.0, cet entier devait être dans l'intervalle -2147483648 à 2147483647

callback ( mixed $a, mixed $b ) : int
Attention

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.

Valeurs de retour

Returns a copy of the map, sorted by value.

Exemples

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

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

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

L'exemple ci-dessus va afficher quelque chose de similaire à :

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
        )

)

Exemple #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);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

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
        )

)