2024 年日本 PHP 研討會

Ds\Map::ksorted

(沒有版本資訊,可能只在 Git 中)

Ds\Map::ksorted依鍵值排序後回傳副本

說明

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

使用選用的 comparator 函式依鍵值排序後回傳副本。

參數

comparator

比較函式必須回傳一個小於、等於或大於零的整數,分別表示第一個參數小於、等於或大於第二個參數。

callback(mixed $a, mixed $b): 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