(No version information available, might only be in Git)
Ds\Map::ksorted — Returns a copy, sorted by key
Returns a copy sorted by key, using an optional comparator
function.
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.
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.
Returns a copy of the map, sorted by key.
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 ) )