PHP Conference Nagoya 2025

Ds\Map::sort

(PECL ds >= 1.0.0)

Ds\Map::sort Sorts the map in-place by value

说明

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

Sorts the map in-place by value, using an optional comparator function.

参数

comparator

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

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

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

返回值

没有返回值。

示例

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

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

print_r($map);
?>

以上示例的输出类似于:

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]);

$map->sort(function($a, $b) {
return
$b <=> $a;
});

print_r($map);
?>

以上示例的输出类似于:

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