一、asort函数简介
asort()
函数对数组按照键值进行升序排序。该函数保留原始键名,同时对应的值重新索引。asort()
函数主要用于对关联数组进行升序排序。
二、asort函数语法
asort()
函数的语法如下:
bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
参数说明:
array
:必需。规定要排序的数组。sort_flags
:可选。规定排序的类型。可能的值:SORT_REGULAR
- 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。SORT_NUMERIC
- 把每一项作为数字来处理。SORT_STRING
- 把每一项作为字符串来处理。
三、asort函数实例
下面是一段简单的 asort()
函数的实例代码:
<?php
$age = array("Peter" => "35", "Ben" => "37", "Joe" => "43");
asort($age);
foreach ($age as $x => $x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
上述代码执行结果如下:
Key=Ben, Value=37
Key=Peter, Value=35
Key=Joe, Value=43
四、asort函数实例解析
上述实例中,我们创建了一个关联数组 $age
,它包含了三个元素 Peter
、Joe
和 Ben
,对应的值是他们的年龄。接下来我们使用 asort()
函数对数组按照年龄升序排序,排序后的数组为 $age
。最后使用 foreach
循环遍历数组,输出键名和对应的值,输出结果与排序后的数组的元素顺序一致。
五、asort函数排序类型说明
- 当按照默认方式(
SORT_REGULAR
)进行排序时,是按照“字典序”进行排序的,例如数值型字符串"2"
将会在"11"
之前排在它之前。 - 当按照
SORT_NUMERIC
方式进行排序时,数值型字符串将被视作数值进行比较,例如"11"
将会在"2"
之前。 - 当按照
SORT_STRING
方式排序时,字符串将按照类似人眼读法的方式进行比较。这意味着"2"
将会被视为比"11"
要小。
六、asort函数返回值说明
asort()
函数返回值为 bool 值,如果成功则返回 true
,否则返回 false
。
七、asort函数注意事项
asort()
函数仅用于对关联数组进行排序,对于普通数组使用sort()
函数进行排序。- 使用
asort()
函数排序后会保留原数组的键名,而不会根据键值排序后进行重新索引。