在线文档教程
PHP
数据结构 | Data Structures

Ds\Map::ksorted

Ds\Map::ksorted

(没有可用的版本信息,可能只在Git中)

Ds \ Map :: ksorted - 返回一个副本,按键排序。

描述

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

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

参数

comparator

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

int callback ( mixed $a, mixed $b )

警告

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

返回值

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

例子

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

<?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() 示例

<?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 ) )

← Ds\Map::ksort

Ds\Map::last →