(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
水果已按字母顺序排序,并且与每个条目关联的键已保持不变。