(PECL ds >= 1.0.0)
Ds\Map::sorted — 依值排序後回傳副本
comparator比較函式必須回傳一個小於、等於或大於零的整數,表示第一個參數分別小於、等於或大於第二個參數。
回傳依值排序的映射副本。
範例 #1 Ds\Map::sort() 範例
<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
print_r($map->sorted());
?>以上範例將輸出類似以下的內容
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]);
// 反轉排序
$sorted = $map->sorted(function($a, $b) {
return $b <=> $a;
});
print_r($sorted);
?>以上範例將輸出類似以下的內容
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
)
)