PHP | Ds\Map sort()函数
PHP中DS\Map 类的Ds\Map::sort()函数用于根据值对指定Map 实例的元素进行就地排序。默认情况下,地图根据值的递增顺序进行排序。
语法:
Ds\Pair public Ds\Map::sort ( int $position )
参数:此函数接受一个比较器函数,根据该比较器函数,在对 Map 进行排序时将比较值。比较器应该根据作为参数传递给它的两个值的比较返回以下值:
- 1:如果第一个元素预计小于第二个元素。
- -1:如果第一个元素预期大于第二个元素。
- 0:如果第一个元素预期等于第二个元素。
返回值:该函数不返回任何值。它只是根据传递的比较器函数对指定的 Map 实例进行排序。
下面的程序说明了Ds\Map::sort()函数:
方案一:
PHP
20, 2 => 10, 3 => 30]);
// sort the Map
$map->sort();
// Print the sorted Map
print_r($map);
?>
PHP
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;
};
// sort the Map
$map->sort($comp);
// Print the sorted Map
print_r($map);
?>
输出:
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
)
)
方案二:
PHP
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;
};
// sort the Map
$map->sort($comp);
// Print the sorted Map
print_r($map);
?>
输出:
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
)
)
参考文献:http:// PHP.NET /手动/ EN / DS-map.sort。 PHP