(No version information available, might only be in Git)
Ds\Map::ksorted — Returns a copy, sorted by key
Returns a copy sorted by key, using an optional comparator
function.
comparator
在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。
从比较函数中返回非整数值,例如 float,将导致内部强制转换为 callback 返回值为
int。因此,诸如 0.99
和 0.1
之类的值都将被转换为整数值
0
,将这些值比较的话将会是相等。
Returns a copy of the map, sorted by key.
示例 #1 Ds\Map::ksorted() example
<?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() example using a comparator
<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);
// Reverse
$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 ) )