Ds\Map::ksorted

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

Ds\Map::ksortedВозвращает копию коллекции, отсортированной по ключам

Описание

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

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

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

comparator

Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй. Обратите внимание, что до PHP 7.0.0 это целое должно было находиться в диапазоне с -2147483648 до 2147483647.

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

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

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

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

Примеры

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

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

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

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

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
        )

)

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

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

// Обратный порядок
$sorted $map->ksorted(function($a$b) {
    return 
$b <=> $a;
});

print_r($sorted);
?>

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

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
        )

)