Ds\Map::ksorted

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

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

Beschreibung

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

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

Parameter-Liste

comparator

Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

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

Wenn die Vergleichsfunktion nicht-ganzzahlige Werte zurückgibt, z. B. vom Typ float, wird der Rückgabewert des Callbacks intern in den Typ int umgewandelt. Werte wie 0.99 und 0.1 werden also beide in einen Integer-Wert von 0 umgewandelt, wodurch diese Werte als gleichwertig eingestuft werden.

Rückgabewerte

Returns a copy of the map, sorted by key.

Beispiele

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

<?php
$map
= new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);

print_r($map->ksorted());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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

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

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

// Reverse
$sorted = $map->ksorted(function($a, $b) {
return
$b <=> $a;
});

print_r($sorted);
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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