PHP数组预定义常量
下列常量作为 PHP 核心的一部分总是可用的。
- CASE_LOWER(integer)
- CASE_LOWER:用在 array_change_key_case()中将数组的键名转换成小写字母。这也是 array_change_key_case()的默认值。
- CASE_UPPER(integer)
- CASE_UPPER:用在 array_change_key_case()中将数组的键名转换成大写字母。
- 排序顺序标识:- SORT_ASC(integer):用在 array_multisort()函数中,使其升序排列。
- SORT_DESC(integer):用在 array_multisort()函数中,使其降序排列。
 
- SORT_REGULAR(integer):用于对对象进行通常比较。
- SORT_NUMERIC(integer):用于对对象进行数值比较。
- SORT_STRING(integer):用于对对象进行字符串比较。
- SORT_LOCALE_STRING(integer):基于当前区域来对对象进行字符串比较。PHP 4.4.0 和 5.0.2 新加。
- COUNT_NORMAL(integer)
- COUNT_RECURSIVE(integer)
- EXTR_OVERWRITE(integer)
- EXTR_SKIP(integer)
- EXTR_PREFIX_SAME(integer)
- EXTR_PREFIX_ALL(integer)
- EXTR_PREFIX_INVALID(integer)
- EXTR_PREFIX_IF_EXISTS(integer)
- EXTR_IF_EXISTS(integer)
- EXTR_REFS(integer)
对数组进行排序
PHP有一些用来排序数组的函数,这个文档会把它们列出来。主要区别有:
- 有些函数基于 array 的键来排序,而其他的基于值来排序的:$array['key']='value';。
- 排序之后键和值之间的关联关系是否能够保持,是指排序之后数组的键可能会被重置为数字型的(0,1,2 ...)。
- 排序的顺序有:字母表顺序,由低到高(升序),由高到低(降序),数字排序,自然排序,随机顺序或者用户自定义排序。
- 注意:下列的所有排序函数都是直接作用于数组本身,而不是返回一个新的有序的数组。
- 以下函数对于数组中相等的元素,它们在排序后的顺序是未定义的。(也即相等元素之间的顺序是不稳定的)。
| 函数名称 | 排序依据 | 数组索引键保持 | 排序的顺序 | 相关函数 | 
|---|---|---|---|---|
| array_multisort() | 值 | 键值关联的保持,数字类型的不保持 | 第一个数组或者由选项指定 | array_walk() | 
| asort() | 值 | 是 | 由低到高 | arsort() | 
| arsort() | 值 | 是 | 由高到低 | asort() | 
| krsort() | 键 | 是 | 由高到低 | ksort() | 
| ksort() | 键 | 是 | 由低到高 | asort() | 
| natcasesort() | 值 | 是 | 自然排序,大小写不敏感 | natsort() | 
| natsort() | 值 | 是 | 自然排序 | natcasesort() | 
| rsort() | 值 | 否 | 由高到低 | sort() | 
| shuffle() | 值 | 否 | 随机 | array_rand() | 
| sort() | 值 | 否 | 由低到高 | rsort() | 
| uasort() | 值 | 是 | 由用户定义 | uksort() | 
| uksort() | 键 | 是 | 由用户定义 | uasort() | 
| usort() | 值 | 否 | 由用户定义 | uasort() | 
