PHP 数组函数分类和整理

zuoyanyan 2019-06-27

这几天工作之余整理和分类了PHP 中常用的数组相关的函数。如有错误和遗漏,请留言指正!

数组函数整理

创建数组函数

  1. array array ([ mixed $... ] ):创建数组的语言结构
  2. array range ( mixed $start , mixed $end [, number $step = 1 ] ):根据范围创建数组
  3. array array_combine ( array $keys , array $values ):使用一个数组作为键,另一个数组作为值创建新的数组。

获取元素数量

  1. int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ):获取数组元素总数

获取所有的键

  1. array array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] ):获取数组所有键组成的数组。

获取所有的值

  1. array array_values ( array $array ):获取数组所有值组成的数组。

遍历数组元素

  1. mixed current ( array &$array ):获取数组当前元素。
  2. mixed key ( array $array ):获取数组当前元素的键。
  3. mixed next ( array &$array ):数组指针前移一步。
  4. mixed prev ( array &$array ):数组指针倒回一步。
  5. mixed reset ( array &$array ):数组指针指向第一个元素。
  6. mixed end ( array &$array ):数组指针指向最后一个元素。
  7. array each ( array &$array ):返回键值对,并数组指针前移一步。

数组位移操作

  1. mixed array_shift ( array &$array ):从数组移除一个元素,并返回。
  2. int array_unshift ( array &$array , mixed $value1 [, mixed $... ] ):数组头部插入一个或多个元素。

数组的栈操作

  1. mixed array_pop ( array &$array ):数组尾部最后一个元素移除并返回(出栈)。
  2. int array_push ( array &$array , mixed $value1 [, mixed $... ] ):数组尾部压入一个或多个元素(入栈)

数组元素排序

函数名称排序依据是否保持键排序顺序是否使用回调函数
array_multisort()数字类型键不保持,字符串类型键保持第一个数组或由选项指定
asort()由低到高
arsort()由高到低
ksort()由低到高
krsort()由高到低
natsort()自然排序
natcasesort()自然排序,大小写不敏感
sort()由低到高
rsort()由高到低
shuffle()随机
usort()用户定义
uasort()用户定义
uksort()用户定义

查找数组元素

  1. mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] ):查找值对应的第一个键名。
  2. bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ):判断值是否存在
  3. bool array_key_exists ( mixed $key , array $array ):判断键是否存在

使用回调函数

  1. array array_map ( callable $callback , array $array1 [, array $... ] )
  2. bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
  3. bool array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] )

数组的差集

函数名称是否比较键名是否比较值键是否使用回调函数值是否使用回调函数
array_diff_key()
array_diff()
array_diff_assoc()
array_diff_ukey()
array_udiff ()
array_diff_uassoc()
array_udiff_assoc()
array_udiff_uassoc()

数组的交集

函数名称是否比较键名是否比较值键是否使用回调函数值是否使用回调函数
array_intersect_key()
array_intersect()
array_intersect_assoc()
array_intersect_ukey()
array_uintersect ()
array_intersect_uassoc()
array_uintersect_assoc()
array_uintersect_uassoc()

数组的合并

  1. array array_merge ( array $array1 [, array $... ] ):合并一个或多个数组。
  2. array array_merge_recursive ( array $array1 [, array $... ] ):递归地合并一个或多个数组。

替换数组元素

  1. array array_replace ( array $array1 , array $array2 [, array $... ] ):替换一个数组的元素。

填充已有数组

  1. array array_fill_keys ( array $keys , mixed $value ):使用指定的键和值填充。
  2. array array_fill ( int $start_index , int $num , mixed $value ):使用指定的值填充。
  3. array array_pad ( array $array , int $size , mixed $value ):以指定大小填充数组。

其他数组操作

  1. array array_reverse ( array $array [, bool $preserve_keys = false ] ):反转数组。
  2. array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] ):分割数组。
  3. array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ):获取数组的一个列。
  4. mixed array_rand ( array $array [, int $num = 1 ] ):随机取出数组元素。
  5. array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ):取出数组的一部分元素。
  6. array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] ):取代数组的一部分元素。
  7. array array_count_values ( array $array ):统计数组中的所有的值。
  8. number array_product ( array $array ):计算数组中所有值的乘积。
  9. number array_sum ( array $array ):对数组的所有值求和。
  10. array array_unique ( array $array [, int $sort_flags = SORT_STRING ] ):移除数组中重复的值。
  11. array list ( mixed $var1 [, mixed $... ] ):数组转换为一组变量。
  12. array array_change_key_case ( array $array [, int $case = CASE_LOWER ] ):数组键名大小写转化。
  13. array array_flip ( array $array ):交换数组的键和值。

相关推荐