Ds\Map::ksorted

(No version information available, might only be in Git)

Ds\Map::ksortedReturns a copy, sorted by key

说明

publicDs\Map::ksorted(callable$comparator = ?): Ds\Map

Returns a copy sorted by key, using an optional comparator function.

参数

comparator

在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。

callback(mixed$a, mixed$b): int
警告

从比较函数中返回非整数值,例如 float,将导致内部强制转换为 callback 返回值为 int。因此,诸如 0.990.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 ) )
To Top