Map
PHP Manual

Ds\Map::ksorted

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

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

说明

public Ds\Map Ds\Map::ksorted ([ callable $comparator ] )

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

参数

comparator

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

int callback ( mixed $a, mixed $b )
Caution

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

返回值

Returns a copy of the map, sorted by key.

范例

Example #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
        )

)

Example #2 Ds\Map::ksorted() example using a comparator

<?php
$map 
= new \Ds\Map([=> "x"=> "y"=> "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
        )

)

Map
PHP Manual