PHP 7.4.25 Released!

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, будет приведено к целому числу (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([=> "x"=> "y"=> "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
        )

)
add a note add a note

User Contributed Notes

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