(PECL ds >= 1.0.0)
Ds\Map::sorted — Returns a copy, sorted by value
Returns a copy, sorted by value using an optional comparator
function.
comparator
在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。注意:在 PHP 7.0.0 之前的版本中,整数的区间为 -2147483648 to 2147483647。
Returns a copy of the map, sorted by value.
Example #1 Ds\Map::sort() example
<?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 ) )
Example #2 Ds\Map::sort() example using a comparator
<?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 ) )