(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::asort — Sort the entries by value
$flags
= SORT_REGULAR
): boolSorts the entries in ascending order, such that its keys maintain their correlation with the values they are associated with.
This is used mainly when sorting associative arrays where the actual element order is significant.
注意:
如果兩個成員完全相同,那么它們將保持原來的順序。 在 PHP 8.0.0 之前,它們在排序數(shù)組中的相對順序是未定義的。
flags
可選的第二個參數(shù) flags
可以用以下值改變排序的行為:
排序類型標(biāo)記:
SORT_REGULAR
- 正常比較單元
詳細(xì)描述參見 比較運(yùn)算符 章節(jié)
SORT_NUMERIC
- 單元被作為數(shù)字來比較
SORT_STRING
- 單元被作為字符串來比較
SORT_LOCALE_STRING
-
根據(jù)當(dāng)前的區(qū)域(locale)設(shè)置來把單元當(dāng)作字符串比較,可以用
setlocale() 來改變。
SORT_NATURAL
- 和 natsort()
類似對每個單元以“自然的順序”對字符串進(jìn)行排序。
SORT_FLAG_CASE
- 能夠與
SORT_STRING
或
SORT_NATURAL
合并(OR 位運(yùn)算),不區(qū)分大小寫排序字符串。
總是返回 true
。
示例 #1 ArrayObject::asort() example
<?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
The fruits have been sorted in alphabetical order, and the key associated with each entry has been maintained.