Ds\Map::ksorted

(No version information available, might only be in Git)

Ds\Map::ksortedReturns a copy, sorted by key

说锟斤拷

public Ds\Map::ksorted ([ callable $comparator ] ) : Ds\Map

Returns a copy sorted by key, using an optional comparator function.

锟斤拷锟斤拷

comparator

锟节碉拷一锟斤拷锟斤拷锟斤拷小锟节o拷锟斤拷锟节伙拷锟斤拷诘诙锟斤拷锟斤拷锟斤拷锟绞憋拷锟斤拷帽冉虾锟斤拷锟斤拷锟斤拷锟斤拷锟接︼拷胤锟斤拷锟揭伙拷锟叫★拷冢锟斤拷锟斤拷诨锟斤拷锟斤拷 0 锟斤拷锟斤拷锟斤拷锟斤拷

callback ( mixed $a, mixed $b ) : int
Caution

Returning non-integer values from the comparison function, such as float, will result in an internal cast to integer 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.

锟斤拷锟斤拷值

Returns a copy of the map, sorted by key.

锟斤拷锟斤拷

Example #1 Ds\Map::ksorted() example

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

)

Example #2 Ds\Map::ksorted() example using a comparator

<?php
$map 
= new \Ds\Map([=> "x"=> "y"=> "z"]);

// Reverse
$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
        )

)