首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sorted — 返回一个副本,按值排序。

描述

代码语言:javascript
复制
public Ds\Map Ds\Map::sorted ([ callable $comparator ] )

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

参数

comparator

如果第一个参数分别小于,等于或大于第二个参数,则比较函数必须返回小于,等于或大于零的整数。请注意,在PHP 7.0.0之前,此整数必须在-2147483648到2147483647之间。

代码语言:javascript
复制
int callback ( mixed $a, mixed $b )

警告

从比较函数返回非整数值(如float)将导致内部转换为回调的返回值的整数。因此,诸如0.99和0.1之类的值都将被转换为0的整数值,这将比较这些值相等。

返回值

返回地图的一个副本,按值排序。

例子

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

代码语言:javascript
复制
<?php
$map?=?new?\Ds\Map(["a"?=>?2,?"b"?=>?3,?"c"?=>?1]);

print_r($map->sorted());
?>

上面的例子会输出类似于:

代码语言:javascript
复制
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() 示例

代码语言:javascript
复制
<?php
$map?=?new?\Ds\Map(["a"?=>?2,?"b"?=>?3,?"c"?=>?1]);

//?Reverse
$sorted?=?$map->sorted(function($a,?$b)?{
????return?$b?<=>?$a;
});

print_r($sorted);
?>

上面的例子会输出类似于:

代码语言:javascript
复制
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
        )

)

← Ds\Map::sort

Ds\Map::sum →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com