查詢

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函式
分享連結