函数:Ds\Sequence::sorted()
适用版本:PHP 7.4 及以上
用法: Ds\Sequence::sorted(callable $comparator = null): Ds\Sequence
该函数用于返回一个经过排序的新的序列,原序列不会受到影响。可选择通过传入一个自定义的比较函数来定义排序规则。
参数:
- $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]。