Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sorted返回一个按值排序的副本

描述

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

返回一个副本,按值排序,使用可选的 comparator 函数。

参数

comparator

比较函数必须返回一个小于、等于或大于零的整数,如果第一个参数分别被认为小于、等于或大于第二个参数。

callback(mixed $a, mixed $b): int
注意

从比较函数中返回 *非整数* 值,例如 float,将导致回调返回值在内部强制转换为 int。因此,诸如 0.990.1 之类的值都将被强制转换为整数 0,这将比较这些值作为相等的值。

返回值

返回映射的副本,按值排序。

示例

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

<?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() 使用比较器的示例

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

// 反转
$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
        )

)
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top