函数名: Ds\Set::sort()
适用版本: PHP >= 7.3.0
用法: Ds\Set::sort() 方法用于对当前 Set 对象进行排序。排序后的 Set 对象会被修改,原有的元素顺序将被替换为排序后的顺序。
语法: public function sort(callable $comparator = null): void
参数:
- $comparator (可选): 用于比较元素的回调函数。如果未提供该参数,则使用默认的比较函数来进行排序。该回调函数需要接受两个参数,并返回一个整数值用于表示两个元素的顺序关系。如果返回值小于0,则表示第一个元素应该排在前面;如果返回值大于0,则表示第二个元素应该排在前面;如果返回值等于0,则表示两个元素相等,排序不变。
示例:
$set = new Ds\Set([5, 3, 1, 2, 4]);
// 默认排序
$set->sort();
print_r($set);
// 使用自定义比较函数进行降序排序
$set->sort(function ($a, $b) {
return $b - $a;
});
print_r($set);
// 使用自定义比较函数进行按长度排序
$set = new Ds\Set(['apple', 'banana', 'cherry', 'date']);
$set->sort(function ($a, $b) {
return strlen($a) - strlen($b);
});
print_r($set);
输出:
Ds\Set Object
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Ds\Set Object
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)
Ds\Set Object
(
[0] => date
[1] => apple
[2] => banana
[3] => cherry
)
注意: Ds\Set 类是 PHP SPL (Standard PHP Library) 中的一部分,在使用该函数之前,需要确保 SPL 扩展已经安装并启用。