La función Ds\Map::sorted() es una función incorporada en PHP que se utiliza para obtener una copia de la instancia de Map especificada ordenada según los valores. De forma predeterminada, la copia de Map se ordena según el orden creciente de los valores.
Sintaxis:
Ds\Map public Ds\Map::sorted( $comparator )
Parámetro: esta función acepta un único parámetro $comparator que contiene una función según la cual se compararán los valores mientras se ordena la copia del mapa. El comparador debe devolver los siguientes valores en función de la comparación de dos valores que se le pasan como parámetro:
- 1: si se espera que el primer elemento sea menor que el segundo elemento.
- -1: si se espera que el primer elemento sea mayor que el segundo.
- 0: si se espera que el primer elemento sea igual al segundo elemento.
Valor devuelto: La función devuelve la copia del Mapa ordenada según los valores.
Nota: Esta función no modifica ni afecta la instancia del Mapa real.
Los siguientes programas ilustran la función Ds\Map::sorted() en PHP:
Programa 1:
<?php // PHP program to illustrate sorted() function // Declare a Map $map = new \Ds\Map([1 => 20, 2 => 10, 3 => 30]); // Print the sorted copy Map print_r($map->sorted()); ?>
Producción:
Ds\Map Object ( [0] => Ds\Pair Object ( [key] => 2 [value] => 10 ) [1] => Ds\Pair Object ( [key] => 1 [value] => 20 ) [2] => Ds\Pair Object ( [key] => 3 [value] => 30 ) )
Programa 2:
<?php // PHP program to illustrate sorted() function // Declare a Map $map = new \Ds\Map([1 => 20, 2 => 10, 3 => 30]); // Declaring comparator function $comp = function($first, $second){ if($first>$second) return -1; else if($first<$second) return 1; else return 0; }; // Print the sorted copy Map print_r($map->sorted()); ?>
Producción:
Ds\Map Object ( [0] => Ds\Pair Object ( [key] => 3 [value] => 30 ) [1] => Ds\Pair Object ( [key] => 1 [value] => 20 ) [2] => Ds\Pair Object ( [key] => 2 [value] => 10 ) )
Referencia: http://php.net/manual/en/ds-map.sorted.php