Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sortedReturns a copy, sorted by value

说明

public Ds\Map::sorted ( callable $comparator = ? ) : Ds\Map

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

参数

comparator

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

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

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int 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 value.

范例

示例 #1 Ds\Map::sort() example

<?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() example using a comparator

<?php
$map 
= new \Ds\Map(["a" => 2"b" => 3"c" => 1]);

// Reverse
$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
        )

)