English | 简体中文 | 繁體中文
查询

Ds\Set::sort()函数—用法及示例

「 对当前 Set 对象进行排序 」


函数名: Ds\Set::sort()

适用版本: PHP >= 7.3.0

用法: Ds\Set::sort() 方法用于对当前 Set 对象进行排序。排序后的 Set 对象会被修改,原有的元素顺序将被替换为排序后的顺序。

语法: public function sort(callable $comparator = null): void

参数:

  1. $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 扩展已经安装并启用。

补充纠错
上一个函数: Ds\Set::reverse()函数
下一个函数: Ds\Set::slice()函数
热门PHP函数
分享链接