测试环境:php5.3.29
-
sort_flags
可以用以下值改变排序的行为:排序类型标记:
SORT_REGULAR
- 正常比较单元(不改变类型)SORT_NUMERIC
- 单元被作为数字来比较SORT_STRING
- 单元被作为字符串来比较SORT_LOCALE_STRING
- 根据当前的区域(locale)设置来把单元当作字符串比较,可以用 setlocale() 来改变。SORT_NATURAL
- 和 natsort() 类似对每个单元以“自然的顺序”对字符串进行排序。 PHP 5.4.0 中新增的。SORT_FLAG_CASE
- 能够与SORT_STRING
或SORT_NATURAL
合并(OR 位运算),不区分大小写排序字符串。PHP 5.4.0 中新增的。
sort($arr[,$sort_flags=SORT_REGULAR]
以键值升序排序。(注意。会删掉键名然后建立数字索引。需要保留键名可以用asort函数)
(值一样的元素,实际在排序函数中也交换了位置,由于值一样所以看不出来但还是交换了的。)
rsort(同上)
以键值降序排序。(注意。同上也会删掉键名,需要保留键名可以用arsort函数)
usort($arr, $cmp_function)
自定函数以键值排序。(注意。同上键名也没了,需要保留键名可以用uasort函数)
cmp_function($a, $b)的两个参数是键值。返回正数,将参数1放后面;0不变;负数,将参数2放后面。
asort($arr[,$sort_flags=SORT_REGULAR))
和sort一样,除了保留键名关联。
arsort(同上)
和rsort一样,除了保留键名关联。
uasort($arr, $cmp_function)
和usort一样。除了保留键名的关联。
ksort($arr[,$sort_flags=SORT_REGULAR))
以键名升序排序。
krsort(同上)
以键名降序排序。
uksort($arr, $cmp_function)
$cmp_function($a, $b)的两个参数是键名。返回处理和usort一样。
natsort($arr)
"natural(自然)排序" 按数值升序。
1.如升序时 2在13前。
2.大小写敏感,如元素 'img1' 'img2' 'Img3' 会排序成 Img3 img1 img2
natcasesort($arr)
natsort($arr)忽略大小写的版本。
array_multisort($arr1[,$arr2...$arrN,$sort_flags=SORT_REGULAR)
关联(字符串)键名不变,数字索引会重新产生。
将$arr2~n的数组的元素,按照$arr1中的移动顺序,作出同样的移动。
如$arr1 = array(2, 3, 1);
变成了 array(1, 2, 3);
$arr2~n也会把 下标0放到下标1上;下标1元素 放到下标2上;下标2的放到下标0上;