查詢

ArrayIterator::uksort()函式—用法及示例

「 對 ArrayIterator 物件中的鍵進行排序 」


ArrayIterator::uksort() 方法用於對 ArrayIterator 物件中的鍵進行排序。它使用使用者自定義的回撥函式來比較鍵的值,並根據比較結果重新排列鍵的順序。

用法:

ArrayIterator::uksort ( callable $cmp_function ) : bool

引數:

  • $cmp_function:必需,一個可呼叫的函式,用於比較鍵的值。函式接受兩個引數,分別是需要比較的兩個鍵。比較函式應當返回一個整數,表示兩個鍵的比較結果。

返回值:

  • 如果排序成功,則返回 true,否則返回 false

示例:

假設有以下的 ArrayIterator 物件:

$array = new ArrayIterator([
    'apple' => 3,
    'banana' => 2,
    'cherry' => 5,
    'date' => 1
]);

我們想按照鍵的字母順序對其進行排序。可以使用 uksort() 方法來實現:

$array->uksort(function($a, $b) {
    return strcmp($a, $b);
});

foreach ($array as $key => $value) {
    echo "$key: $value<br>";
}

輸出結果為:

apple: 3
banana: 2
cherry: 5
date: 1

在示例中,我們使用了 uksort() 方法,將比較函式傳遞給它。比較函式使用 strcmp() 函式來比較兩個鍵的字母順序。根據比較結果,uksort() 方法對鍵重新排列,最終我們得到按照字母順序排序的鍵值對陣列。最後使用 foreach 迴圈遍歷陣列,輸出排序後的結果。

補充糾錯
熱門PHP函式
分享連結