查詢

Ds\Map::sort()函式—用法及示例

「 按鍵值對的鍵對映順序對對映進行排序 」


函式名: Ds\Map::sort()

適用版本: PHP 7.0 以上

用法:該方法用於按鍵值對的鍵對映順序對對映進行排序。鍵的排序方式由提供的回撥函式決定,如果未提供回撥函式則使用預設排序方法。該方法會直接修改原始的對映。

引數:

  • callback(可選):用於比較鍵的回撥函式。該函式需要接受兩個引數,比較兩個鍵的順序,如果第一個引數小於等於第二個引數,應返回一個負數;如果兩個引數相等,應返回 0;如果第一個引數大於等於第二個引數,應返回一個正數。

示例:

$map = new Ds\Map(['a' => 3, 'b' => 1, 'c' => 2]);
$map->sort();
print_r($map); // 輸出: Ds\Map Object ( [0] => Array ( [b] => 1 ) [1] => Array ( [c] => 2 ) [2] => Array ( [a] => 3 ) )

使用自定義回撥函式的示例:

$map = new Ds\Map(['a' => 3, 'b' => 1, 'c' => 2]);
$map->sort(function($a, $b) {
    if ($a > $b) {
        return 1; // 返回正數表示 $a 大於 $b
    } elseif ($a < $b) {
        return -1; // 返回負數表示 $a 小於 $b
    } else {
        return 0; // 返回 0 表示 $a 等於 $b
    }
});
print_r($map); // 輸出: Ds\Map Object ( [0] => Array ( [b] => 1 ) [1] => Array ( [c] => 2 ) [2] => Array ( [a] => 3 ) )

注意:該方法只適用於使用 composer require ds/ds 安裝了 ext-ds 擴充套件的情況下,否則會丟擲 Error 異常。

補充糾錯
上一個函式: Ds\Map::sorted()函式
下一個函式: Ds\Map::slice()函式
熱門PHP函式
分享連結