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