排序
sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新排序。
按值排序
asort:对数组进行排序并保持索引关系
arsort:对数组进行逆向排序并保持索引关系
参数 描述
array 必需。输入的数组。
sorttype
可选。规定如何排列数组的值。可能的值:
SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。
<?php
$arr=array(
'a'=>1,
'b'=>50,
'c'=>34,
'd'=>100,
);
print_r($arr);
asort($arr);
print_r($arr);
arsort($arr);
print_r($arr);
复制代码
Array
(
[a] => 1
[b] => 50
[c] => 34
[d] => 100
)
Array
(
[a] => 1
[c] => 34
[b] => 50
[d] => 100
)
Array
(
[d] => 100
[b] => 50
[c] => 34
[a] => 1
)
复制代码
按键排序
ksort:对数组按照键名排序,保留键名到数据的关联
krsort:对数组按照键名逆向排序,保留键名到数据的关联
字符串排序
natsort:对字母数字字符串进行排序并保持原有键/值的关联
natcasesort:同natsort排序算法,但不区分大小写字母排序
natsort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先。数组的索引与单元值保持关联。
如果成功,则该函数返回 TRUE,否则返回 FALSE。
例子
本函数所用的自然排序算法,与通常的计算机字符串排序算法(用于 sort())的区别,见下面示例:
<?php$temp_files = array("temp15.txt","temp10.txt","temp1.txt","temp22.txt","temp2.txt");
sort($temp_files);
echo "Standard sorting: ";
print_r($temp_files);
echo "<br />";
natsort($temp_files);
echo "Natural order: ";
print_r($temp_files);
?>
输出:
Standard sorting:
Array(
[0] => temp1.txt
[1] => temp10.txt
[2] => temp15.txt
[3] => temp2.txt
[4] => temp22.txt
)
Natural order:
Array(
[0] => temp1.txt
[3] => temp2.txt
[1] => temp10.txt
[2] => temp15.txt
[4] => temp22.txt
)