PHP 数组函数分类和整理

这几天工作之余整理和分类了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 ):交换数组的键和值。

你可能感兴趣的:(array_walk,array_map,数组,php)