函式名:ArrayObject::uasort()
描述:ArrayObject::uasort() 方法根據指定的比較函式對陣列物件的元素進行原地排序,並保持元素與鍵的關聯。
用法:
ArrayObject::uasort ( callable $cmp_function ) : bool
引數:
- cmp_function (callable):比較函式,必須接受兩個引數並返回一個整數值。如果第一個引數小於第二個引數,則返回一個負整數;如果第一個引數大於第二個引數,則返回一個正整數;如果兩個引數相等,則返回 0。
返回值:
- 成功時返回 true,失敗時返回 false。
示例:
$fruits = new ArrayObject([
'apple' => 2,
'banana' => 4,
'cherry' => 1
]);
// 自定義比較函式按值進行排序
$fruits->uasort(function($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
});
foreach($fruits as $fruit => $quantity) {
echo "<li>$fruit: $quantity</li>";
}
輸出:
<li>cherry: 1</li>
<li>apple: 2</li>
<li>banana: 4</li>
說明:
ArrayObject::uasort()
方法透過指定的比較函式對陣列物件的值進行排序,並保持鍵值對的關聯。在示例中,我們建立了一個 $fruits
陣列物件,包含水果名作為鍵,數量作為值。然後,我們使用自定義的比較函式來按照數量對水果進行排序,並使用 uasort()
方法進行排序操作。最後,使用 foreach 迴圈遍歷排序後的陣列物件,並將鍵值對以 HTML 列表的形式輸出。