php常用的数组函数
- 创建和初始化
(1)array() :创建一个空数组。
(2)range() :创建一个包含特定范围内数字的数组。
(3)explode() :将一个字符串按照指定的分隔符转换为数组。
(4)list() :将数组赋值给一组变量。 - 遍历和输出
(1)foreach() :用于遍历数组,并将数组中的值提取出来。
(2)print_r() :以易读的方式打印一个数组。
(3)var_dump() :以更加详细的方式打印一个数组,包括键名、键值及数据类型等信息。 - 增加、删除和修改
(1)array_push() 和 array_pop() :用于在数组尾部添加/删除元素。
(2)array_unshift() 和 array_shift() :用于在数组头部添加/删除元素。
(3)unset() :用于删除指定的数组元素。
(4)array_splice() :用于删除数组中的元素,并可以插入新元素。
(5)array_merge() :将两个数组合并为一个数组。
(6)array_replace() :将一个数组替换为另一个数组。 - 排序
(1)sort() :用于对数组进行升序排序。
(2)rsort() :用于对数组进行降序排序。
(3)ksort() :按照键名进行升序排序。
(4)krsort() :按照键名进行降序排序。
(5)asort() :按照键值进行升序排序。
(6)arsort() :按照键值进行降序排序。 -
查询
(1)in_array() :用于检查数组中是否存在某个值。
(2)array_search() :在数组中查找某个值,并返回第一个匹配的键。
(3)array_key_exists() :检查数组中是否存在指定的键名。
(4)array_values() :返回数组中所有值的新数组,重新索引并将其排序。 -
统计
(1)count() :统计数组中元素的个数。
(2)array_sum() :计算数组中所有数值的和,返回结果。
(3)array_product() :计算数组中所有数值的乘积,返回结果。 -
多维操作
(1)array_column() :提取数组中指定的列,作为新数组返回。
(2) array_keys() :提取数组的所有键,作为新数组返回。
(3)array_values():提取数组的所有值,作为新数组返回。
(4)array_walk_recursive() :递归地遍历每个元素,可用于对多维数组进行操作。
(5)array_merge_recursive() :用于合并多个数组,如果有相同的键名则会进行递归合并。
函数 | 解释 | 链接 |
---|---|---|
array | 新建一个数组 | 文档 |
range | 根据范围创建数组,包含指定的元素 | 文档 |
list | 把数组中的值赋给一组变量 | 文档 |
compact | 建立一个数组,包括变量名和它们的值 | 文档 |
extract | 从数组中将变量导入到当前的符号表 | 文档 |
array_combine | 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 | 文档 |
array_merge | 合并一个或多个数组 | 文档 |
array_merge_recursive | 递归地合并一个或多个数组 | 文档 |
— | — | — |
array_chunk | 将一个数组分割成多个 | 文档 |
array_replace | 使用传递的数组替换第一个数组的元素 | 文档 |
array_replace_recursive | 使用传递的数组递归替换第一个数组的元素 | 文档 |
array_change_key_case | 将数组中的所有键名修改为全大写或小写 | 文档 |
array_splice | 去掉数组中的某一部分并用其它值取代 | 文档 |
array_flip | 交换数组中的键和值 | 文档 |
array_fill_keys | 使用指定的键和值填充数组 | 文档 |
array_fill | 用给定的值填充数组 | 文档 |
array_pad | 以指定长度将一个值填充进数组 | 文档 |
array_filter | 使用回调函数过滤数组的元素 | 文档 |
array_reduce | 用回调函数迭代地将数组简化为单一的值 | 文档 |
array_reverse | 返回单元顺序相反的数组 | 文档 |
array_unique | 移除数组中重复的值 | 文档 |
shuffle | 打乱数组 | 文档 |
explode | 字符串切割转数组 | 文档 |
preg_split | 字符串正则切割转数组 | 文档 |
implode | 数组合成转字符串 | 文档 |
unset | 清除指定变量 | 文档 |
— | — | — |
is_array | 判断是否是数组 | 文档 |
in_array | 检查数组中是否存在某个值 | 文档 |
array_is_list | 判断给定的 array 是否为 list | 文档 |
array_key_exists | 检查数组里是否有指定的键名或索引 | 文档 |
array_key_first | 获取指定数组的第一个键 | 文档 |
array_key_last | 获取一个数组的最后一个键值 | 文档 |
key | 从关联数组中取得键名 | 文档 |
array_keys | 返回数组中部分的或所有的键名 | 文档 |
array_values | 返回数组中所有的值 | 文档 |
array_column | 返回输入数组中指定列的值 | 文档 |
array_search | 在数组中搜索给定的值,如果成功则返回首个相应的键名 | 文档 |
array_slice | 从数组中取出一段 | 文档 |
— | — | — |
array_map | 为数组的每个元素应用回调函数 | 文档 |
array_walk_recursive | 对数组中的每个成员递归地应用用户函数 | 文档 |
array_walk | 使用用户自定义函数对数组中的每个元素做回调处理 | 文档 |
— | — | — |
array_pop | 弹出数组最后一个单元(出栈) | 文档 |
array_push | 将一个或多个单元压入数组的末尾(入栈) | 文档 |
array_shift | 将数组开头的单元移出数组 | 文档 |
array_unshift | 在数组开头插入一个或多个单元 | 文档 |
each | 返回数组中当前的键/值对并将数组指针向前移动一步 | 文档 |
current | 返回数组中的当前值 | 文档 |
end | 将数组的内部指针指向最后一个单元 | 文档 |
next | 将数组中的内部指针向前移动一位 | 文档 |
prev | 将数组的内部指针倒回一位 | 文档 |
reset | 将数组的内部指针指向第一个单元 | 文档 |
— | — | — |
count | 统计数组、Countable 对象中所有元素的数量 ,别名函数sizeof | 文档 |
array_count_values | 统计数组中每个不同值的出现次数 | 文档 |
array_sum | 对数组中所有值求和 | 文档 |
array_product | 计算数组中所有值的乘积 | 文档 |
— | — | — |
array_diff | 计算数组的差集 | 文档 |
array_diff_assoc | 带索引检查计算数组的差集 | 文档 |
array_diff_key | 使用键名比较计算数组的差集 | 文档 |
array_diff_ukey | 用回调函数对键名比较计算数组的差集 | 文档 |
array_diff_uassoc | 用用户提供的回调函数做索引检查来计算数组的差集 | 文档 |
array_udiff | 用回调函数比较数据来计算数组的差集 | 文档 |
array_udiff_assoc | 带索引检查计算数组的差集,用回调函数比较数据 | 文档 |
array_udiff_uassoc | 带索引检查计算数组的差集,用回调函数比较数据和索引 | 文档 |
array_intersect_assoc | 带索引检查计算数组的交集 | 文档 |
array_intersect_key | 使用键名比较计算数组的交集 | 文档 |
array_intersect_uassoc | 带索引检查计算数组的交集,用回调函数比较索引 | 文档 |
array_intersect_ukey | 在键名上使用回调函数来比较计算数组的交集 | 文档 |
array_intersect | 计算数组的交集 | 文档 |
array_uintersect_assoc | 带索引检查计算数组的交集,用回调函数比较数据 | 文档 |
array_uintersect_uassoc | 带索引检查计算数组的交集,用单独的回调函数比较数据和索引 | 文档 |
array_uintersect | 计算数组的交集,用回调函数比较数据 | 文档 |
— | — | — |
sort | 对数组升序排序 | 文档 |
rsort | 对数组降序排序 | 文档 |
ksort | 对数组根据键名升序排序 | 文档 |
krsort | 对数组按照键名逆向排序 | 文档 |
asort | 对数组进行升序排序并保持索引关系 | 文档 |
arsort | 对数组进行降向排序并保持索引关系 | 文档 |
uasort | 使用用户定义的比较函数对数组进行排序并保持索引关联 | 文档 |
uksort | 使用用户自定义的比较函数对数组中的键名进行排序 | 文档 |
usort | 使用用户自定义的比较函数对数组中的值进行排序 | 文档 |
natsort | 用“自然排序”算法对数组排序 | 文档 |
array_multisort | 对多个数组或多维数组进行排序 | 文档 |
natcasesort | 用“自然排序”算法对数组进行不区分大小写字母的排序 | 文档 |
— | — | — |
sizeof | count 的别名 | 文档 |
pos | current 的别名 | 文档 |
key_exists | 别名 array_key_exists | 文档 |