PHP数组在咱们开发中使用的频率之高可想而知,凡是和数据库打交道的都须要用到数组,并且处理好数组能更快的提高咱们的工做效率,因而整理了PHP数组相关的函数算法
PHP数组相关函数
数组排序相关函数
- 对多个数组或多维数组进行排序: array_multisort
- 返回一个顺序相反的数组: array_reverse
- 对数组逆向排序并保持键值对关系: arsort
- 对数组进行顺序排序并保持键值对关系: asort
- 按照数组键名逆向排序: krsort
- 按照数组键名顺序排序: ksort
- 不区分大小写对数组排序: natcasesort
- 按照天然算法对数组进行排序,区分大小写: natsort
- 对数组逆向排序: rsort
- 将数组打乱: shuffle
- 对数组排序: sort
- 使用自定义比较函数对数组的值进行排序并保持索引关系: uasort
- 用自定义比较函数对数组的键名进行排序: uksort
- 用之定义比较函数对数组进行排序: usort
数组的键值操做函数
- 数组键名大小写转换函数: array_change_key_case
- 将一个键的数组和一个值的数组合并成一个键值对的数组: array_combine
- 使用指定的键值填充数组: array_fill_keys
- 使用指定的值填充数组: array_fill
- 交换数组的键值: array_flip
- 检查键名或者索引是否在数组中: array_key_exists
- 得到数组中全部的键名: array_keys
- 获取数组中全部的值: array_values
- 将数组的键值对转换为变量,并对变量进行检测是否存在和是否须要覆盖: extract
- 检查数组中是否存在键: key_exists
- 获取数组当前值的键名: key
- 将数组中的值赋值给一些变量: list
数组的分割和合并函数
- 按指定的长度将一个数组拆分红多个数组: array_chunk
- 递归的合并一个或多个数组: array_merge_recursive
- 合并一个或多个数组: array_merge
多维数组的操做
- 返回多维数组中指定键的一列: array_column
- 对数组的值递归的使用自定义函数: array_walk_recursive
- 对数组的值使用自定义函数: array_walk
多数组操做
- 将一个键的数组和一个值的数组合并成一个键值对的数组: array_combine
- 检查多个数组中和第一个数组差集含索引的差集检查: array_diff_assoc
- 检查多个数组中和第一个数组的差集: array_diff_key
- 经过回调函数作索引来计算数组的差集: array_diff_uassoc
- 经过回调函数来对比键名返回数组的差集: array_diff_ukey
- 检查多个数组和第一个数组的差集不含键的检查: array_diff
- 带索引检查多个数组和第一个数组的交集: array_intersect_assoc
- 使用键名比较多个数组和第一个数组的交集: array_intersect_key
- 使用回调函数比较多个数组和第一个数组索引的交集: array_intersect_uassoc
- 使用回调函数来比较多个数组和第一个数组键名的交集: array_intersect_ukey
- 检查多个数组和第一个数组的交集: array_intersect
数组的统计相关函数
- 统计数组中全部值出现的次数: array_count_values
数组的回调操做
- 经过回调函数作索引来计算数组的差集: array_diff_uassoc
- 经过回调函数来对比键名返回数组的差集: array_diff_ukey
- 使用回调函数比较多个数组和第一个数组索引的交集: array_intersect_uassoc
- 使用回调函数来比较多个数组和第一个数组键名的交集: array_intersect_ukey
- 使用回调函数对数组进行处理: array_map
- 使用回调函数迭代的将数组替换成一个值: array_reduce
- 使用回掉函数迭代递归数组替换成第一个数组的值: array_replace_recursive
- 使用传递的数组替换第一个数组中的制定键的值: array_replace
- 带索引并用回调函数计算数组值的差集: array_udiff_assoc
- 带索引并用回调函数计算数组键值对的差集: array_udiff_uassoc
- 使用回调函数来计算数组的差集: array_udiff
- 带索引并使用回调函数检查数组值的交集: array_uintersect_assoc
- 带索引并使用回调函数检查数组键值对的交集: array_uintersect_uassoc
- 用回调函数计算数组的交集: array_uintersect
数组的增删改查
- 使用指定的值将数组填充到指定的长度: array_pad
- 返回数组的最后一个值: array_pop
- 将一个或多个数组压入第一个数组: array_push
- 搜索数组中制定的值: array_search
- 将数组的第一个元素移出数组: array_shift
- 读取出数组的一部分: array_slice
- 删除数组一部分值或者用其余的值替代: array_splice
- 删除数组中重复的值: array_unique
- 在数组开头插入值: array_unshift
- 新建一个数组: array
- 使用变量名及值创建一个数组: compact
- 获取数组中当前的值: current
- 递归获取数组当前的键值对: each
- 获取数组的最后一个元素的值: end
- 判断数组中是否存在某个值: in_array
- 将数组的指针倒退一位: prev
- 当前数组的值: pos
- 将数组指针向前移动一位: next
- 将数组的指针指向第一个元素: reset
- 建立一个制定范围的数组: range
数组的计算
- 返回数组中全部值的乘积: array_product
- 从数组中取出一个或多个值: array_rand
- 求数组中全部值的和: array_sum
- 计算数组中值的个数: count
- 计算数组中值的个数: sizeof
开发中经常使用数组函数
在开发过程当中,我的使用较多的函数依次是:
- array_rand 在作抽奖系统的时候用到,随机的获取一个获奖的等级
- count 经常使用的函数,统计一维数组和多维数组的长度
- sort 在微信公众平台开发的时候用到这个函数来进行token的组装验证
- array_fill 在开发抽奖系统的时候填充获奖等级及中奖几率的时候用到
- array_key_exists 在校验数据合法性的时候经常使用,在验证是否包含指定的键时经常使用
- array_keys 在数据合法性的时候常常使用到,根据键和值来校验
- array_merge_recursive 在ThinkPHP编写配制文件及多维数组合并的时候经常使用
- array_merge 两个数组合并
- array_column 从数据库中读取数据合并并整理后常使用到,用于查找指定的列的集合
- array_pop 在作缓存队列的时候经常使用到
- array_push 在作缓存队列的时候经常使用到
- array_search 有用到但很少,大部分是使用 in_array 进行一维数组的检查,此函数支持多维数组及大小写的检测
- array_shift 在作缓存队列的时候经常使用到
- array_unshift 在作缓存队列的时候经常使用到
- array 经常使用,可是愈来愈多的使用 [] 来建立数组了
- in_array 经常使用,用于校验和判断
- range 在生成随机数组的时候用到