函式: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]。