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

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

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

Возвращение нецелых значений из функции сравнения, таких как число с плавающей точкой (float), приведёт к внутреннему приведению возвращаемого значения callback-функции к целому числу (int). Таким образом, значения 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([1 => "x", 2 => "y", 0 => "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
        )

)
add a note add a note

User Contributed Notes

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