Ds\Map::ksort

(PECL ds >= 1.0.0)

Ds\Map::ksort Ordena o mapa no local pelo chave

Descrição

publicDs\Map::ksort(callable$comparator = ?): void

Ordena o mapa no local pela chave, usando uma função de comparator opcional.

Parâmetros

comparator

A função de comparação deve retornar um inteiro menor que, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor que, igual ou maior que o segundo.

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

Retornar valores não inteiros da função de comparação, como float, resultará em uma conversão interna do valor retornado da função callback para int. Portanto, valores como 0.99 e 0.1 serão convertidos para o valor inteiro 0, o que comparará esses valores como iguais.

Valor Retornado

Nenhum valor é retornado.

Exemplos

Exemplo #1 Ds\Map::ksort() exemplo

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

print_r($map);
?>

O exemplo acima produzirá algo semelhante a:

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

Exemplo #2 Exemplo de Ds\Map::ksort() usando um comparador

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

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

print_r($map);
?>

O exemplo acima produzirá algo semelhante a:

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