标题：数组函数库
需求
要编译本扩展模块无需外部库文件。
安装
该扩展模块作为 PHP 内核的一部分，无需安装即可使用。
运行时配置
该扩展模块在 php.ini 中未定义任何配置选项。
资源类型
该扩展模块未定义任何资源类型。
预定义常量
以下常量作为 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) 
SORT_ASC 用在 array_multisort() 函数中，使其升序排列。 
SORT_DESC (integer) 
SORT_DESC 用在 array_multisort() 函数中，使其降序排列。排序类型标识SORT_REGULAR (integer) 
SORT_REGULAR 用于对对象进行通常比较。 
SORT_NUMERIC (integer) 
SORT_NUMERIC 用于对对象进行数值比较。 
SORT_STRING (integer) 
SORT_STRING 用于对对象进行字符串比较。 
SORT_LOCALE_STRING (integer) 
SORT_LOCALE_STRING 基于当前区域来对对象进行字符串比较。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)
参见
参见 is_array()，explode()，implode()，split()，preg_split() 和 unset()。 
【译者注】本章中出现的“关联数组”或“结合数组”指的是键名为字符串的数组，“索引”和“键名”指的是同一样东西。“索引”多指数组的数字形式的下标。
其他
array_change_key_case — 返回字符串键名全为小写或大写的数组 
array_chunk — 将一个数组分割成多个 
array_combine — 创建一个数组，用一个数组的值作为其键名，另一个数组的值作为其值 
array_count_values — 统计数组中所有的值出现的次数 
array_diff_assoc — 带索引检查计算数组的差集 
array_diff_key — 使用键名比较计算数组的差集 
array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集 
array_diff_ukey — 用回调函数对键名比较计算数组的差集 
array_diff — 计算数组的差集 
array_fill_keys — Fill an array with values, specifying keys 
array_fill — 用给定的值填充数组 
array_filter — 用回调函数过滤数组中的单元 
array_flip — 交换数组中的键和值 
array_intersect_assoc — 带索引检查计算数组的交集 
array_intersect_key — 使用键名比较计算数组的交集 
array_intersect_uassoc — 带索引检查计算数组的交集，用回调函数比较索引 
array_intersect_ukey — 用回调函数比较键名来计算数组的交集 
array_intersect — 计算数组的交集 
array_key_exists — 检查给定的键名或索引是否存在于数组中 
array_keys — 返回数组中所有的键名 
array_map — 将回调函数作用到给定数组的单元上 
array_merge_recursive — 递归地合并一个或多个数组 
array_merge — 合并一个或多个数组 
array_multisort — 对多个数组或多维数组进行排序 
array_pad — 用值将数组填补到指定长度 
array_pop — 将数组最后一个单元弹出（出栈） 
array_product — 计算数组中所有值的乘积 
array_push — 将一个或多个单元压入数组的末尾（入栈） 
array_rand — 从数组中随机取出一个或多个单元 
array_reduce — 用回调函数迭代地将数组简化为单一的值 
array_reverse — 返回一个单元顺序相反的数组 
array_search — 在数组中搜索给定的值，如果成功则返回相应的键名 
array_shift — 将数组开头的单元移出数组 
array_slice — 从数组中取出一段 
array_splice — 把数组中的一部分去掉并用其它值取代 
array_sum — 计算数组中所有值的和 
array_udiff_assoc — 带索引检查计算数组的差集，用回调函数比较数据 
array_udiff_uassoc — 带索引检查计算数组的差集，用回调函数比较数据和索引 
array_udiff — 用回调函数比较数据来计算数组的差集 
array_uintersect_assoc — 带索引检查计算数组的交集，用回调函数比较数据 
array_uintersect_uassoc — 带索引检查计算数组的交集，用回调函数比较数据和索引 
array_uintersect — 计算数组的交集，用回调函数比较数据 
array_unique — 移除数组中重复的值 
array_unshift — 在数组开头插入一个或多个单元 
array_values — 返回数组中所有的值 
array_walk_recursive — 对数组中的每个成员递归地应用用户函数 
array_walk — 对数组中的每个成员应用用户函数 
array — 新建一个数组 
arsort — 对数组进行逆向排序并保持索引关系 
asort — 对数组进行排序并保持索引关系 
compact — 建立一个数组，包括变量名和它们的值 
count — 计算数组中的单元数目或对象中的属性个数 
current — 返回数组中的当前单元 
each — 返回数组中当前的键/值对并将数组指针向前移动一步 
end — 将数组的内部指针指向最后一个单元 
extract — 从数组中将变量导入到当前的符号表 
in_array — 检查数组中是否存在某个值 
key — 从关联数组中取得键名 
krsort — 对数组按照键名逆向排序 
ksort — 对数组按照键名排序 
list — 把数组中的值赋给一些变量 
natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序 
natsort — 用“自然排序”算法对数组排序 
next — 将数组中的内部指针向前移动一位 
pos — current() 的别名 
prev — 将数组的内部指针倒回一位 
range — 建立一个包含指定范围单元的数组 
reset — 将数组的内部指针指向第一个单元 
rsort — 对数组逆向排序 
shuffle — 将数组打乱 
sizeof — count() 的别名 
sort — 对数组排序 
uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 
uksort — 使用用户自定义的比较函数对数组中的键名进行排序 
usort — 使用用户自定义的比较函数对数组中的值进行排序