一、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 "
"; } ?>
上述代码执行结果如下:
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() 函数排序后会保留原数组的键名,而不会根据键值排序后进行重新索引。