一般

  • reset( array &$array ):将数组的内部指针指向第一个单元;
  • key( array $array) : mixed:返回数组中当前单元的键名;
  • current( array &$array ) : mixed:返回数组中的当前单元;
  • prev( array &$array ) : mixed:将数组中的内部指针向后移动一位,并返回成员值;
  • next( array &$array ) : mixed:将数组中的内部指针向前移动一位,并返回成员值;
  • end( array &$array ) : mixed:将数组的内部指针指向最后一个单元;
  • array_flip( array $array) : array:交换数组中的键和值;
  • array_rever( array $array [, bool $preserve_keys = false]) : array:把数组反过来;
  • array_unique( array $array [, int $sort_flags = SORT_STRING]) : array:移除数组中重复的值;

遍历

  • array_walk( array &$array, callable $func [, mixed $userdata = null]) : bool;使用自定义函数对数组中的每个成员做回调处理;
  • array_walk_recursive( array &$array, callable $func [, mixed $userdata = null]) : bool;对数组中的每个成员递归地应用自定义函数;

键名操作

  • array_key_first( array $array ) : mixed:取得数组第一个成员的键名(php7 >= 7.3.0);
  • array_key_last( array $array ) : mixed:取得数组最后一个成名的键名(php7 >= 7.3.0);
  • array_keys( array $array [, mixed $search_value = null [, bool $strict = false]]) : array:返回数组中部分或所有的键名;
  • array_change_key_case( array $array [, int $case = CASE_LOWER]) : array:将数组中的所有键名修改为全大写或小写;

成员操作

  • array_values( array $input) : array:返回数组中所有的值;
  • array_column( array $input, mixed $column_key [, mixed $index_key = null]) : array:返回数组中指定的一列;
  • array_map( callable $callback, array $arr1, [, $...]) : array:为数组的每个成员应用回调函数;
  • array_pop( array &$array) : mixed :弹出数组最后一个单元(出栈);
  • array_push( array &$array, mixed $value [, mixed $v...]):将一个或多个单元压入数组的末尾(入栈);
  • array_shift( array &$array) : mixed :将数组开头的单元移除数组(出栈);
  • array_unshift( array &$array, mixed $value [, mixed $v...]):在数组开头插入一个或多个元素(入栈);
  • array_rand( array $array [, int $num = 1]) : mixed:从数组中取出一个或多个单元;
  • arrary_reduce( array $array, callable $callback [, mixed $initial = null]):mixed:用回调函数迭代地将数组简化为单一的值;

搜索 / 检查

  • array_search( mixed $needle, array $haystack, [, bool $strict = false]) : mixed:搜索给定的值,存在返回首个相应的键名;
  • array_key_exists( mixed $key, array $array) : bool:检查数组里是否有指定的键名;
  • key_exists() :array_key_exists() 的别名;
  • in_array( mixed $value, array $array) : bool:检查成员是否在数组里;

排序

  • sort( array &$array [, int $sort_flags = SORT_REGULAR] ):对数组重新由低到高排序,可以指定排序行为;
  • rsort( array &$array [, int $sort_flags = SORT_REGULAR] ):对数组重新由高到低排序,可以指定排序行为;
  • asort( array &$array [, int $sort_flags = SORT_REGULAR] ):对数组进行顺序排序并保持索引关系;
  • arsort( array &$array [, int $sort_flags = SORT_REGULAR] ):对数组进行逆向排序并保持索引关系;
  • ksort( array &$array [, int $sort_flags = SORT_REGULAR] ):对数组按照键名顺序排序,保留键名与值得关系;
  • krsort(array &$array [, int $sort_flags = SORT_REGULAR] ):对数组按照键名逆向排序,保留键名与值得关系;
  • usort( array &$array, callable $value_compare_func ) :使用用户自定义的比较函数对数组中的值进行排序;
  • uasort( array &$array, callable $value_compare_func ):使用用户自定义的比较函数对数组中的值进行排序,并保持索引关系;
  • uksort( array &$array, callable $key_compare_func ) :使用用户自定义的比较函数对数组中的键名进行排序;
  • natsort( array &$array ):用"自然排序"算法对数组排序(区分大小写);
  • natcasesort( array &$array ):用"自然排序"算法对数组排序(不区分大小写);
  • shuffle( array &$array ):打乱数组,对数组随机排序;

合集

  • array_intersect( array $arr1, array $arr2 [, array $...] ):计算数组的交集,返回出现在所有数组里的元素,使用数组1的键名;
  • array_intersect_key( array $arr1, array $arr2 [, array $...] ) 计算数组的交集(只比较键名);
  • array_intersect_assoc( array $arr1, array $arr2 [, array $...] ) 计算数组的交集(比较键名与值);
  • array_intersect_ukey( array $arr1, array $arr2 [, array $...], callable $fun ) 用回调函数比较键名来计算数组的交集;
  • array_intersect_uassoc( array $arr1, array $arr2 [, array $...], callable $fun ) 用回调函数比较键名与值来计算数组的交集;
  • array_uintersect( array $arr1, array $arr2, ... , callable $func]) : array:计算数组的交集,用回调函数比较数据;
  • array_uintersect_assoc( array $arr1, array $arr2, ... , callable $func):带键名检查计算数组的交集,用回调函数比较数据;
  • array_uintersect_uassoc( ... callable $func, callable $func):带键名检查计算数组的交集,用单独的回调函数比较数据;

差集

  • array_diff( array $arr1, array $arr2 [, array $...] ) : array:计算数组的差集,返回出现在数组1但不出现在其它数组的元素;
  • array_diff_key( array $arr1, array $arr2 [, array $...] ) : array:计算数组的差集(只比较数组的键名);
  • array_diff_assoc( array $arr1, array $arr2 [, array $...] ) : array:带索引检查计算数组的差集;
  • array_diff_ukey( array $arr1, array $arr2 [, array $...], callable $fun ) : array:用提供的回调函数来计算数组的差集;
  • array_diff_uassoc( array $arr1, array $arr2 [, array $...], callable $fun ) : array:用提供的回调函数来计算数组的差集;
  • array_udiff( array $arr1, array $arr2, ... , callable $func]) : array:计算数组的差集,用回调函数比较数据;
  • array_udiff_assoc( array $arr1, array $arr2, ... , callable $func):带键名检查计算数组的差集,用回调函数比较数据;
  • array_udiff_uassoc( ... callable $func, callable $func):带键名检查计算数组的差集,用单独的回调函数比较数据;

合并

  • array_merge( array $array [, array $...]) : array:合并一个或多个数组;
  • array_merge_recursive( array $array [, array $arr ...]) : array:递归的合并一个或多个数组;

分割 / 截取

  • array_chunk( array $array, int $size [, bool $preserve_keys = false]) : array:将一个数组分割成多个;
  • array_slice( array $array, int $offset [, int $length = null [, int preserve_keys = false]]) : array:从数组中取出一段;
  • array_splice( array &$input, int $offset [, int $length = count($input) [, mixed $replacement = array()]] ) : array:去掉数组中的某一部分并用其它值取代;

填充

  • array_fill( int $start_index, int $num, mixed $value) : array :用给定的值填充成一个数组;
  • array_pad( array $array, int $size, mixed $value) : array :以指定长度将一个值填充进数组;

过滤

  • array_filter( array $array [, callable $callback [, int $flag = 0]]) : array:用回调函数过滤数组中的单元;

组合

  • array_combine( array $keys, array $values) : array :用数组1的值做键名数组2的值为其值组合一个新数组;

统计 / 数学计算

  • count( mixed $array_or_countable) : int:计算数组中的单元数目,或对象中的属性个数;
  • array_count_values( array $array) : array :统计数组中所有值得数量;
  • array_sum( array $array) : float:对数组中所有值求和;
  • array_product( array $array) : float:计算数组中所有值得乘积;

替换

  • array_replace(array $arr1 [, array $arr ... ]) : array:使用传递的数组替换第一个数组的元素,对比键名;
  • array_replace_recursive(array $arr1 [, array $arr ... ]) : array:使用传递的数组替换第一个数组的元素,对比键名,如果元素都是数组则继续替换;

创建

  • compact( mixed $var1 [, mixed $var2 ... ]) : array:把一组变量组合成一个数组,变量名为键名,变量值为数组的成员;
  • range( mixed $start, mixed $end [, number $step = 1 ]) : array:根据范围创建数组,包含指定的元素;

 

 

 

 

更多推荐

PHP数组操作分类及函数简介