(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::asort — 依值排序項目
將項目按升序排序,並保持鍵值與其關聯值的對應關係。
這主要用於排序關聯式陣列,其中元素的實際順序很重要。
注意事項:
如果兩個成員比較結果相等,它們會保留原始順序。在 PHP 8.0.0 之前,它們在排序後的陣列中的相對順序未定義。
flags
可選的第二個參數 flags
可用於修改排序行為,使用以下值:
排序類型旗標
SORT_REGULAR
- 正常比較項目;詳細說明請參考比較運算子章節
SORT_NUMERIC
- 以數值比較項目
SORT_STRING
- 以字串比較項目
SORT_LOCALE_STRING
- 根據目前語系設定,以字串比較項目。它使用語系設定,可以使用 setlocale() 更改
SORT_NATURAL
- 使用類似 natsort() 的「自然排序」方式以字串比較項目
SORT_FLAG_CASE
- 可以與 SORT_STRING
或 SORT_NATURAL
(使用位元 OR) 組合,以不區分大小寫的方式排序字串
永遠返回 true
。
範例 #1 ArrayObject::asort() 範例
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();
foreach ($fruitArrayObject as $key => $val) {
echo "$key = $val\n";
}
?>
以上範例將輸出:
c = apple b = banana d = lemon a = orange
水果已按字母順序排序,並且每個項目的鍵值都已保留。