函式名: 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 擴充套件已經安裝並啟用。