Ds\Map::sorted
(PECL ds >= 1.0.0)
Ds\Map::sorted — Возвращает отсортированную по значению копию коллекции
Описание
Возвращает отсортированную по значению копию коллекции, необязательно используя
callback-функцию comparator
.
Список параметров
-
comparator
-
Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.
ПредостережениеНе целое значение, возвращенное из функции сравнения, такого как float, будет приведено к целому числу (int). Так что значения типа 0.99 и 0.1 будут приведены к 0, что будет означать равенство сравниваемых значений.
Возвращаемые значения
Возвращает отсортированную по значению копию коллекции.
Примеры
Пример #1 Пример использования Ds\Map::sort()
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
print_r($map->sorted());
?>
Результатом выполнения данного примера будет что-то подобное:
Ds\Map Object ( [0] => Ds\Pair Object ( [key] => c [value] => 1 ) [1] => Ds\Pair Object ( [key] => a [value] => 2 ) [2] => Ds\Pair Object ( [key] => b [value] => 3 ) )
Пример #2 Пример использования Ds\Map::sort() с callback-функцией сравнения
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
// Reverse
$sorted = $map->sorted(function($a, $b) {
return $b <=> $a;
});
print_r($sorted);
?>
Результатом выполнения данного примера будет что-то подобное:
Ds\Map Object ( [0] => Ds\Pair Object ( [key] => b [value] => 3 ) [1] => Ds\Pair Object ( [key] => a [value] => 2 ) [2] => Ds\Pair Object ( [key] => c [value] => 1 ) )