Ds\Map::ksort

(PECL ds >= 1.0.0)

Ds\Map::ksort Сортирует текущую коллекцию по ключам

Описание

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

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

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

comparator

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

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

При возврате из функции сравнения нецелых значений наподобие float PHP внутренне приведёт значение, которое возвращает callback-функции, к типу int. Поэтому значения наподобие 0.99 и 0.1 приводятся к целочисленному значению 0 и сравниваются как равные.

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

Функция не возвращает значения после выполнения.

Примеры

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

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

print_r($map);
?>

Вывод приведённого примера будет похож на:

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::ksort() с callback-функцией сравнения

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

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

print_r($map);
?>

Вывод приведённого примера будет похож на:

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
        )

)
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top