PHP 数组函数API

1. 将数组中的所有键名修改为大写或小写

  • 语法:array array_change_key_case(array $array[, int $case=CASE_LOWER])
  • 参数:case可以在这两用两个常量,CASE_UPPER或CASE_LOWER(默认值)
  • 返回值:返回一个键全是大写或者全是小写的数组,如果$array不是一个数组,则返回false

2. 将一个数组分割成多个(其中每个数组的单元数目由size决定。最后一个数组单元数目可能会少于size个)

  • 语法:array array_chunk(array $array, int $size[, bool $preserve_keys=false])
  • 参数:preserve_keys设为true,可以保留数组中原来的键名,如果为false,每个数组将从零开始新的数字索引
  • 返回值:到的数组是一个多维数组中的单元,其索引从零开始,每一维包含了size个元素

3. 返回数组中指定的一列(返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键)--PHP5.5新增

  • 语法:array array_column(array $input, mixed $column_key [, mixed $index_key = null])
  • 参数:input:需要取出数组列的多维数组。如果提供的是包含一组对象的数组,只有 public 属性会被直接取出。 为了也能取出 private 和 protected 属性,类必须实现 __get()__isset() 魔术方法。column_key:需要返回值的列。它可以是数组列索引、关联数组列的键、也可以是属性名。也可以是null,此时将返回整个数组。index_key:作为返回数组的索引/键的列,也可以是该列的整数索引,或者字符串的键值。
  • 返回值:从多维数组中返回单列数组。

4. 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

  • 语法:array array_combine(array $keys, array $values)
  • 参数:$keys,$values,非法的值将会被转换为字符串类型
  • 返回值:返回合并的 array,如果两个数组的单元数不同则返回 FALSE

5. 合并一个或多个数组

  • 语法:array array_merge(array $array1[, array $array2...])
  • 参数:array1...要合并的数组
  • 返回值:返回结果数组

6. 递归地合并一个或多个数组(将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组)

  • 语法:array array_merge(array $array1[, array $array2...])
  • 参数:...,数组变量列表,进行递归合并
  • 返回值:一个结果数组,其中的值合并自附加的参数。

7. 使用传递的数组替换第一个数组的元素

  • 语法:array array_replace(array $array1, array $array2 [, array $...])
  • 参数:array1替换该数组的值,array2从此数组中提取替换值,...更多数组,后面数组的值会覆盖前面的值
  • 返回值:返回一个数组。如果发生错误,将返回 null

8. 使用传递的数组递归替换第一个数组的元素

  • 语法:array array_replace_recursive(array $array1, array $array2 [, array $...])
  • 参数:同array_replace
  • 返回值:同array_replace

9. 统计数组中值出现的次数

  • 语法:array array_count_values(array $array)
  • 参数:统计这个数组的值(该值只能为integer或者string类型)
  • 返回值:返回一个关联数组,用 array 数组中的值作为键名,该值在数组中出现的次数作为值。

10. 返回数组中所有的值

  • 语法:array array_values(array $array)
  • 返回值:返回含所有的索引数组

11. 返回数组中部分的或所有的键名

  • 语法:array array_keys(array $array [, mixed $search_value=null [, bool $strict=false]])
  • 参数:search_value指定这个参数,只有包含这些值的键才会返回。strict判断在搜索的时候是否该使用严格的比较(===)
  • 返回值:返回 input 里的所有键

12. 检查数组里是否有指定的键名或索引(isset() 对于数组中为 NULL 的值不会返回 TRUE,而 array_key_exists() 会)

  • 语法:bool array_key_exists(mixed $key, array $array)
  • 参数:key要检查的键,array一个数组,包含待检查的键
  • 返回值:成功返回true,失败返回false

13. 检查数组中是否存在某个值

  • 语法:bool in_array(mixed $needle, array $haystack [, bool $strict = false])
  • 参数:needle待搜索的值,如果是字符串,则比较是区分大小写。haystack待搜索的数组。strict值为 TRUEin_array() 函数还会检查 needle 的类型是否和 haystack 中的相同
  • 返回值:如果找到 needle 则返回 TRUE,否则返回 FALSE

14. 在数组中搜索给定的值,如果成功则返回首个相应的键名

  • 语法:mixed array_search(mixed $needle, array $haystack [, bool $strict=false])
  • 参数:needle待搜索的值,如果是字符串,则比较是区分大小写。strict值为 TRUEin_array() 函数还会检查 needle 的类型是否和 haystack 中的相同
  • 返回值:如果找到 needle 则返回 TRUE,否则返回 FALSE

15. 移除数组中重复的值

  • 语法:array array_unique(array $array[, int $sort_flags=SORT_STRING])
  • 参数:sort_flags 可用于修改排序行为。
  • SORT_REGULAR - 按照通常方法比较(不修改类型)。
  • SORT_NUMERIC - 按照数字形式比较。
  • SORT_STRING - 按照字符串形式比较。
  • SORT_LOCALE_STRING - 根据当前的本地化设置,按照字符串比较
  • 返回值:返回过滤后的数组

16. 计算数组的差集

  • 语法:array array_diff(array $array1, array $array2 [, $array $...])
  • 参数:array1要被对比的数组,array2和这个数组进行比较
  • 返回值:返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变

17. 带索引检查计算数组的差集

  • 语法:array array_diff_assoc(array $array1, array $array2 [, array $...])
  • 参数:同上array_diff
  • 返回值:返回一个数组,该数组包含来自array1的所有值,这些值在任何其他数组中都不存在。

18. 用用户提供的回调函数做索引检查来计算数组的差集

  • 语法:array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )
  • 参数:由用户提供的回调函数检查两个索引的相等性

    function key_compare_func($a, $b)
    {
        if ($a === $b) {
            return 0;
        }
        return ($a > $b)? 1:-1;
    }

19. 带索引检查计算数组的差集,用回调函数比较数据

  • 语法:array array_udiff_assoc ( array $array1 , array $array2 [, array $... ], callback $value_compare_func )

20. 用回调函数比较数据来计算数组的差集

  • 语法:array array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

21. 带索引检查计算数组的差集,用回调函数比较数据和索引

  • 语法:array array_udiff_uassoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func , callable $key_compare_func )

22. 计算数组的交集((string) $elem1 === (string) $elem2 时被认为是相同的)

  • 语法:array array_intersect ( array $array1 , array $array2 [, array $... ] )
  • 返回值:返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值

23. 带索引检查计算数组的交集((string) $elem1 === (string) $elem2 时被认为是相同的)

  • 语法:array array_intersect_assoc ( array $array1 , array $array2 [, array $... ] )
  • 返回数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值

24. 用给定的值填充数组

  • 语法:array array_fill ( int $start_index , int $num , mixed $value )
  • 参数:start_index返回的是数组的第一个索引值,如果是负数,那么返回的数组的第一个索引值会是start_index,后面索引则从0开始。num插入元素的数量,必需大于或等于0。value用来填充的值。
  • 返回值:返回填充后的数组

25. 使用指定的键和值填充数组

  • 语法:array array_fill_keys ( array $keys , mixed $value )
  • 参数:keys使用该数组的值作为键。非法值将被转换为字符串。
  • 返回值:返回填充后的数组

26. 用回调函数过滤数组中的单元

  • 语法:array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
  • 参数:callback使用的回调函数,如果没有提供callback函数,将删除array中所有等值为false的条目。flag
  • ARRAY_FILTER_USE_KEY - callback接受键名作为的唯一参数
  • ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值
  • 返回值:返回过滤后的数组

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章