# 数组

# 简介

这些函数允许你通过不同的方式来使用和操作数组。数组是存储、管理和操作变量组的必不可少的工具。

PHP 支持简单数组和多维数组，数组可由用户自己创建也可以由其它函数创建。有很多特殊的数据库处理函数可以从数据库查询中返回数组以及一些返回数组的函数。

请参考手册中有关数组的章节来详细了解 PHP 中数组是如何实现及使用的。也可以参考 数组操作符来了解操作数组的一些其它方式。

- 预定义常量
- 对数组进行排序
- 数组 函数
  - array — 新建一个数组
  - array_all — 检查数组所有元素是否都满足回调函数的条件
  - array_any — Checks if at least one array element satisfies a callback function
  - array_change_key_case — 将数组中的所有键名修改为全大写或小写
  - array_chunk — 将一个数组分割成多个
  - array_column — 返回输入数组中指定列的值
  - array_combine — 创建一个数组，用一个数组的值作为其键名，另一个数组的值作为其值
  - array_count_values — 统计数组中每个不同值的出现次数
  - array_diff — 计算数组的差集
  - array_diff_assoc — 带索引检查计算数组的差集
  - array_diff_key — 使用键名比较计算数组的差集
  - array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集
  - array_diff_ukey — 用回调函数对键名比较计算数组的差集
  - array_fill — 用给定的值填充数组
  - array_fill_keys — 使用指定的键和值填充数组
  - array_filter — 使用回调函数过滤数组的元素
  - array_find — Returns the first element satisfying a callback function
  - array_find_key — Returns the key of the first element satisfying a callback function
  - array_first — 获取数组的第一个值
  - array_flip — 交换数组中的键和值
  - array_intersect — 计算数组的交集
  - array_intersect_assoc — 带索引检查计算数组的交集
  - array_intersect_key — 使用键名比较计算数组的交集
  - array_intersect_uassoc — 带索引检查计算数组的交集，用回调函数比较索引
  - array_intersect_ukey — 在键名上使用回调函数来比较计算数组的交集
  - array_is_list — 判断指定 array 是否为 list
  - array_key_exists — 检查数组里是否有指定的键名或索引
  - array_key_first — 获取指定数组的第一个键
  - array_key_last — 获取一个数组的最后一个键值
  - array_keys — 返回数组中部分的或所有的键名
  - array_last — 获取数组的最后一个值
  - array_map — 为数组的每个元素应用回调函数
  - array_merge — 合并一个或多个数组
  - array_merge_recursive — 递归地合并一个或多个数组
  - array_multisort — 对多个数组或多维数组进行排序
  - array_pad — 以指定长度将一个值填充进数组
  - array_pop — 弹出数组最后一个单元（出栈）
  - array_product — 计算数组中所有值的乘积
  - array_push — 将一个或多个单元压入数组的末尾（入栈）
  - array_rand — 从数组中随机取出一个或多个随机键
  - array_reduce — 用回调函数迭代地将数组简化为单一的值
  - array_replace — 使用传递的数组替换第一个数组的元素
  - array_replace_recursive — 使用传递的数组递归替换第一个数组的元素
  - array_reverse — 返回单元顺序相反的数组
  - array_search — 在数组中搜索给定的值，如果成功则返回首个相应的键名
  - array_shift — 将数组开头的单元移出数组
  - array_slice — 从数组中取出一段
  - array_splice — 去掉数组中的某一部分并用其它值取代
  - array_sum — 对数组中所有值求和
  - array_udiff — 用回调函数比较数据来计算数组的差集
  - array_udiff_assoc — 带索引检查计算数组的差集，用回调函数比较数据
  - array_udiff_uassoc — 带索引检查计算数组的差集，用回调函数比较数据和索引
  - array_uintersect — 计算数组的交集，用回调函数比较数据
  - array_uintersect_assoc — 带索引检查计算数组的交集，用回调函数比较数据
  - array_uintersect_uassoc — 带索引检查计算数组的交集，用单独的回调函数比较数据和索引
  - array_unique — 移除数组中重复的值
  - array_unshift — 在数组开头插入一个或多个单元
  - array_values — 返回数组中所有的值
  - array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
  - array_walk_recursive — 对数组中的每个成员递归地应用用户函数
  - arsort — 对数组进行降向排序并保持索引关系
  - asort — 对数组进行升序排序并保持索引关系
  - compact — 建立一个数组，包括变量名和它们的值
  - count — 统计数组、Countable 对象中所有元素的数量
  - current — 返回数组中的当前值
  - each — 返回数组中当前的键／值对并将数组指针向前移动一步
  - end — 将数组的内部指针指向最后一个单元
  - extract — 从数组中将变量导入到当前的符号表
  - in_array — 检查数组中是否存在某个值
  - key — 从关联数组中取得键名
  - key_exists — 别名 array_key_exists
  - krsort — 对数组按照键名逆向排序
  - ksort — 对数组根据键名升序排序
  - list — 把数组中的值赋给一组变量
  - natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序
  - natsort — 用“自然排序”算法对数组排序
  - next — 将数组中的内部指针向前移动一位
  - pos — current 的别名
  - prev — 将数组的内部指针倒回一位
  - range — 根据范围创建数组，包含指定的元素
  - reset — 将数组的内部指针指向第一个单元
  - rsort — 对数组降序排序
  - shuffle — 打乱数组
  - sizeof — count 的别名
  - sort — 对数组升序排序
  - uasort — 使用用户定义的比较函数对数组进行排序并保持索引关联
  - uksort — 使用用户自定义的比较函数对数组中的键名进行排序
  - usort — 使用用户自定义的比较函数对数组中的值进行排序

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open