(PECL ds >= 1.0.0)
Ds\Map::sorted — 返回一个按值排序的副本
comparator
比较函数必须返回一个小于、等于或大于零的整数,如果第一个参数分别被认为小于、等于或大于第二个参数。
返回映射的副本,按值排序。
示例 #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() 使用比较器的示例
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
// 反转
$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 ) )