(Информация о версии неизвестна, возможно, только в SVN)
Ds\Map::ksorted — Возвращает копию коллекции, отсортированной по ключам
Возвращает копию коллекции, отсортированной по ключам, опционально используя
callback-функцию comparator
для сравнения элементов.
comparator
Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим чем второй. Обратите внимание, что до PHP 7.0.0, это целое не могло выходить за рамки диапазона с -2147483648 по 2147483647
Возврат не целого значение из функции сравнения, такого как 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([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 ) )