Sorts the map in-place by value

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
警告

Returning non-integer values from the comparison function, such as float, will result in an internal cast to int of the callback's return value. So values such as 0.99 and 0.1 will both be cast to an integer value of 0, which will compare such values as equal.

返回值

沒有返回值。

範例

示例 #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
        )

)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *