PHP数组相关函数详细介绍,以及使用示例

PHP语言结构

语言结构效率高的原因: 函数 —-(Zend引擎编译)—-> 语言结构

  • echo
  • print
  • die()
  • isset()
  • unset()
  • empty()
  • array()
  • list()
  • include
  • require
  • ** 注意:include_once(), require_once() 是函数

PHP数组函数

  • array_change_key_case // 将数组中的所有键名修改为全部大写或小写, 不改变数字索引
  • array_chunk // 将一个数组分割成多个
  • array_column // 返回数组中指定的一列

创建数组

  • array_combine // 创建一个数组,一个数组作为键名,另一个数组作为值
  • array_fill_keys // 指定的’数组键’和’字符串值’填充数组
  • array_fill // 用给定的值填充数组
  • compact // 建立一个数组,包括变量名和他们的值
  • array_pad // 以指定长度将一个值填充‘进’数组
  • range // 根据范围创建数组,包含指定的元素

计算

  • array_count_values // 统计数组中所有的值的次数
  • array_product // 计算数组中所有值得积
  • array_sum // 对数组中的值求和
  • count // 计算数组中的单元数目,或对象中的属性个数 别名函数 sizeof()

差集

  • array_diff_assoc // 带索引检查计算数组的差集
  • array_diff_uassoc // 和array_diff_assoc不同的是使用了用户自定义的回调函数,而不是内置函数
  • array_diff_key // 使用键名比较计算数组的差集
  • array_diff_ukey // 和array_diff_key 不同的是使用了用户自定义的回调方式,而不是内置函数
  • array_diff // 不检查索引

交集

  • array_intersect_assoc // 带索引计算数组的交集
  • array_intersect_uassoc // 用回调函数带索引比较计算数组的交集
  • array_intersect_key // 使用键名比较计算数组的交集
  • array_intersect_ukey // 使用回调函数比较键名计算数组的交集
  • array_intersect // 计算数组的交集(不检查索引)

判断

  • array_key_exists
  • array_key_first
  • array_key_last

高阶函数

  • array_reduce // 用回调函数迭代地将数组简化为单一的值 * 回调计算数组
  • array_filter // 用回调函数过滤数组中的单元 * return true|false
  • array_map // 为数组每个元素应用回调函数 * 多数组回调
  • array_walk // 使用用户自定义函数对数组中的每个元素做回调处理 * 引用操作

合并数组

  • array_merge_recursive // 递归地合并一个或多个数组
  • array_merge // 合并一个或多个数组

排序

  • sort // 对数组排序 * 不区分大小写 * 不保持索引
  • usort
  • asort // 对数组排序并保持索引关系
  • uasort
  • ksort
  • uksort
  • rsort // 对数组逆向排序
  • arsort // 对数组逆向排序并保持索引关系
  • krsort // 对数组按键进行逆向排序
  • natsort // 用‘自然排序’算法对数组进行排序 * 保持原有键/值的关联
  • natcasesort // 用‘自然排序’算法对数组进行不区分大小写字母的排序
  • array_multisort // 对多个数组或多维数组进行排序

数组指针

  • current // 返回数组中的当前单元 别名函数 pos
  • each
  • next
  • prev
  • reset
  • end

  • array_pop // 后出
  • array_push // 后入
  • array_shift // 前出
  • array_unshift // 前入

其他

  • array_rand // 从数组中随机取出一个或多个单元
  • array_flip // 交换数组中键和值
  • shuffle // 打乱数组
  • array_reverse // 返回单元顺序相反的数组
  • array_search // 在数组中搜索给定的值,如果成功过则返回首个相应的键名
  • array_keys // 返回数组中部分或者所有的键名
  • array_slice // 从数组中取出一段
  • array_splice // 去掉取数中的某一部分并用其他值取代
  • array_unique // 移除数组中重复的值
  • extract // 从数组中将变量导入到当前的符号表

replace

  • array_replace // 使用传递的数组替换第一个数组的元素
  • array_replace_recursive // 使用传递的数组‘递归’替换第一个数组的元素

扩展:获取数组第一个元素

  • array_shift()
  • current()
  • each()
  • array_key_first()
  • 下标
  • array_slice()
  • list($a) = array()
567