Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sortedВозвращает отсортированную по значению копию коллекции

Описание

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

Возвращает отсортированную по значению копию коллекции, необязательно используя callback-функцию comparator.

Список параметров

comparator

Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.

callback ( mixed $a, mixed $b ) : int
Предостережение

Не целое значение, возвращенное из функции сравнения, такого как float, будет приведено к целому числу (int). Так что значения типа 0.99 и 0.1 будут приведены к 0, что будет означать равенство сравниваемых значений.

Возвращаемые значения

Возвращает отсортированную по значению копию коллекции.

Примеры

Пример #1 Пример использования Ds\Map::sort()

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

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

Результатом выполнения данного примера будет что-то подобное:

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
        )

)

Пример #2 Пример использования Ds\Map::sort() с callback-функцией сравнения

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

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

print_r($sorted);
?>

Результатом выполнения данного примера будет что-то подобное:

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
        )

)