开启辅助访问
帐号登录 |立即注册

PHP 数组函数分类和整理

 

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

创建数组函数

array ([ mixed $... ] ):创建数组的语言结构

range ( mixed $start , mixed $end [, number $step = 1 ] ):根据范围创建数组

array_combine ( array $keys , array $values ):使用一个数组作为键,另一个数组作为值创建新的数组。

获取元素数量

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

获取所有的键

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

获取所有的值

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

遍历数组元素

mixed current ( array &$array ):获取数组当前元素。

mixed key ( array $array ):获取数组当前元素的键。

mixed next ( array &$array ):数组指针前移一步。

mixed prev ( array &$array ):数组指针倒回一步。

mixed reset ( array &$array ):数组指针指向第一个元素。

mixed end ( array &$array ):数组指针指向最后一个元素。

array each ( array &$array ):返回键值对,并数组指针前移一步。

数组位移操作

mixed array_shift ( array &$array ):从数组移除一个元素,并返回。

int array_unshift ( array &$array , mixed $value1 [, mixed $... ] ):数组头部插入一个或多个元素。

数组的栈操作

mixed array_pop ( array &$array ):数组尾部最后一个元素移除并返回(出栈)。

int array_push ( array &$array , mixed $value1 [, mixed $... ] ):数组尾部压入一个或多个元素(入栈)

数组元素排序

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

查找数组元素

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] ):查找值对应的第一个键名。

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ):判断值是否存在

bool array_key_exists ( mixed $key , array $array ):判断键是否存在

使用回调函数

array array_map ( callable $callback , array $array1 [, array $... ] )

bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

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()

数组的合并

array_merge ( array $array1 [, array $... ] ):合并一个或多个数组。

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

替换数组元素

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

填充已有数组

array_fill_keys ( array $keys , mixed $value ):使用指定的键和值填充。

array_fill ( int $start_index , int $num , mixed $value ):使用指定的值填充。

array_pad ( array $array , int $size , mixed $value ):以指定大小填充数组。

其他数组操作

array_reverse ( array $array [, bool $preserve_keys = false ] ):反转数组。

array_chunk ( array $array , int $size [, bool $preserve_keys = false ] ):分割数组。

array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ):获取数组的一个列。

mixed array_rand ( array $array [, int $num = 1 ] ):随机取出数组元素。

array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ):取出数组的一部分元素。

array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] ):取代数组的一部分元素。

array_count_values ( array $array ):统计数组中的所有的值。

number array_product ( array $array ):计算数组中所有值的乘积。

number array_sum ( array $array ):对数组的所有值求和。

array_unique ( array $array [, int $sort_flags = SORT_STRING ] ):移除数组中重复的值。

list ( mixed $var1 [, mixed $... ] ):数组转换为一组变量。

array_change_key_case ( array $array [, int $case = CASE_LOWER ] ):数组键名大小写转化。

array_flip ( array $array ):交换数组的键和值。


回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。