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

Ds\Sequence::sorted()函数—用法及示例

「 返回一个经过排序的新的序列,原序列不会受到影响 」


函数:Ds\Sequence::sorted()

适用版本:PHP 7.4 及以上

用法: Ds\Sequence::sorted(callable $comparator = null): Ds\Sequence

该函数用于返回一个经过排序的新的序列,原序列不会受到影响。可选择通过传入一个自定义的比较函数来定义排序规则。

参数:

  1. $comparator(可选):一个可调用的比较函数,用于定义排序规则。如果未提供该参数,则默认按照自然顺序进行排序。

返回值: 返回一个新的排序后的序列。

示例:

$sequence = new Ds\Vector([3, 1, 2]);

// 使用自然顺序排序
$sortedSequence = $sequence->sorted();
print_r($sortedSequence);    // 输出:Ds\Vector Object ([0] => 1, [1] => 2, [2] => 3)

// 使用自定义的比较函数进行排序
$comparator = function($a, $b) {
    return $b <=> $a;    // 降序排序
};

$sortedSequence = $sequence->sorted($comparator);
print_r($sortedSequence);    // 输出:Ds\Vector Object ([0] => 3, [1] => 2, [2] => 1)

在以上示例中,我们首先创建了一个包含无序数据的序列。然后使用sorted()函数对序列进行排序。

在第一个示例中,未提供比较函数,因此按照自然顺序进行升序排序。排序后的序列为[1, 2, 3]。

在第二个示例中,我们定义了一个比较函数用于实现降序排序。排序后的序列为[3, 2, 1]。

补充纠错
上一个函数: Ds\Sequence::sum()函数
下一个函数: Ds\Sequence::unshift()函数
热门PHP函数
分享链接