(No version information available, might only be in Git)
Ds\Map::ksorted — Renvoie une copie, triée par clé
Renvoie une copie triée par clé, en utilisant une fonction comparator
facultative.
comparator
La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.
Retourner des valeurs non-entières à partir de la fonction
de comparaison, telles que float, entraînera une conversion interne
de la valeur de retour du rappel en int. Ainsi, des valeurs telles que
0.99
et 0.1
seront toutes deux converties en une
valeur entière de 0
, ce qui comparera de telles valeurs comme égales.
Renvoie une copie de la carte, triée par clé.
Exemple #1 Exemple de Ds\Map::ksorted()
<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);
print_r($map->ksorted());
?>
Résultat de l'exemple ci-dessus est similaire à :
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 ) )
Exemple #2 Exemple de Ds\Map::ksorted()utilisant un comparateur
<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);
// Renverse
$sorted = $map->ksorted(function($a, $b) {
return $b <=> $a;
});
print_r($sorted);
?>
Résultat de l'exemple ci-dessus est similaire à :
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 ) )