PHP Conference Japan 2024

Ds\Map::sort

(PECL ds >= 1.0.0)

Ds\Map::sort依值就地排序映射

描述

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

依值就地排序映射,使用可選的 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]);
$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() 範例

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