The Ds\Map::sorted() function is an inbuilt function in PHP which is used to get a copy of the specified Map instance sorted according to the values. By default, the copy of Map is sorted according to the increasing order of the values.
Syntax:
Ds\Map public Ds\Map::sorted( $comparator )
Parameter: This function accepts single parameter $comparator which contains function according to which the values will be compared while sorting the copy of the Map. The comparator should return the following values based on the comparison on two values passed to it as a parameter:
- 1: if the first element is expected to be less than second element.
- -1: if the first element is expected to be greater than second element.
- 0: if the first element is expected to be equal to the second element.
Return value: The function returns the copy of the Map sorted according to the values.
Note: This function does not modifies or affect the actual Map instance.
Below programs illustrate the Ds\Map::sorted() function in PHP:
Program 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()); ?> |
Output:
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 ) )
Program 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()); ?> |
Output:
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 ) )
Reference: http://php.net/manual/en/ds-map.sorted.php