📜  PHP | Ds\Map sort()函数

📅  最后修改于: 2022-05-13 01:57:40.004000             🧑  作者: Mango

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