Ds\Map::ksorted
Ds\Map::ksorted
(没有可用的版本信息,可能只在Git中)
Ds \ Map :: ksorted - 返回一个副本,按键排序。
描述
public Ds\Map Ds\Map::ksorted ([ callable $comparator ] )
Returns a copy sorted by key, using an optional comparator
function.
参数
comparator
如果第一个参数分别小于,等于或大于第二个参数,则比较函数必须返回小于,等于或大于零的整数。请注意,在PHP 7.0.0之前,此整数必须在-2147483648到2147483647之间。
int callback ( mixed $a, mixed $b )
警告
从比较函数返回非整
数值(如float)将导致内部转换为回调的返回值的整数。因此,诸如0.99和0.1之类的值都将被转换为0的整数值,这将比较这些值相等。
返回值
返回地图的一个副本,按键排序。
例子
示例#1Ds\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() 示例
<?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
)
)
← Ds\Map::ksort
Ds\Map::last →