PHP Conference Japan 2024

Ds\Map::ksorted

(无版本信息,可能只在 Git 中)

Ds\Map::ksorted返回按键排序的副本

描述

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

返回按键排序的副本,可以使用可选的 comparator 函数。

参数

comparator

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

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

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

返回值

返回按键排序的映射副本。

示例

示例 #1 Ds\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"]);

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

)
添加注释

用户贡献的注释

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