上一节我们学习了PHP的多维数组,本节我们将总结PHP数组的常用函数,方便读者对数组进行增删改查和特殊的自定义操作。

下面我们通过一张表格来总览一下PHP数组的常用函数(涵盖了数组的创建、操作、搜索、排序、遍历等各个方面):

函数功能
count()返回数组中元素的个数
array_push()向数组末尾添加一个或多个元素
array_pop()删除并返回数组的最后一个元素
array_shift()删除并返回数组的第一个元素
array_unshift()向数组开头添加一个或多个元素
array_merge()合并一个或多个数组
array_slice()从数组中取出一段元素
array_splice()删除并替换数组中的元素
in_array()检查数组中是否存在某个值
array_search()在数组中搜索给定的值,返回对应的键
array_key_exists()检查给定的键名或索引是否存在于数组中
array_keys()返回数组中所有的键名
array_values()返回数组中所有的值
sort()对数组进行升序排序
rsort()对数组进行降序排序
asort()对数组进行升序排序并保持索引关系
arsort()对数组进行降序排序并保持索引关系
ksort()按照键名对数组进行升序排序
krsort()按照键名对数组进行降序排序
array_reverse()返回单元顺序相反的数组
array_unique()移除数组中重复的值
array_filter()用回调函数过滤数组中的元素
array_map()将回调函数作用到给定数组的元素上
array_reduce()用回调函数迭代地将数组简化为单一的值
implode()将数组元素连接成字符串
explode()将字符串分割成数组
array_rand()从数组中随机取出一个或多个键
shuffle()打乱数组中元素的顺序
array_sum()计算数组中所有值的和
array_product()计算数组中所有值的乘积
array_column()返回数组中指定的一列
array_chunk()将一个数组分割成多个
array_fill()用给定的值填充数组
range()建立一个包含指定范围单元的数组

下面,我们使用数组的常用函数对数组arr=[1,2,3]进行简单的增删查改和个性化操作:

<?php
$arr = [1, 2, 3];
// 1. 增加元素 - array_push
array_push($arr, 4);  // [1, 2, 3, 4]
// 2. 删除元素 - array_pop
array_pop($arr);  // [1, 2, 3]
// 3. 查找元素 - in_array
$exists = in_array(2, $arr);  // true
// 4. 修改元素 - 直接赋值
$arr[1] = 20;  // [1, 20, 3]
// 5. 排序 - sort
sort($arr);  // [1, 3, 20]
// 6. 数组合并 - array_merge
$new_arr = array_merge($arr, [5, 6]);  // [1, 3, 20, 5, 6]
// 7. 数组反转 - array_reverse
$reversed = array_reverse($arr);  // [20, 3, 1]
// 8. 数组切片 - array_slice
$sliced = array_slice($arr, 0, 2);  // [1, 3]
// 9. 数组转字符串 - implode
$str = implode(', ', $arr);  // "1, 3, 20"
// 10. 数组求和 - array_sum
$sum = array_sum($arr);  // 24
// 11. 过滤数组 - array_filter
$filtered = array_filter($arr, function($val) {
    return $val > 1;  // [3, 20]
});
// 12. 映射修改 - array_map
$mapped = array_map(function($val) {
    return $val * 10;  // [10, 30, 200]
}, $arr);
// 13. 获取数组长度 - count
$length = count($arr);  // 3
// 14. 检查键是否存在 - array_key_exists
$has_key = array_key_exists(1, $arr);  // true
// 15. 获取所有键名 - array_keys
$keys = array_keys($arr);  // [0, 1, 2]
// 16. 随机获取元素 - array_rand
$random_key = array_rand($arr);  // 随机返回 0, 1 或 2
// 17. 去重 - array_unique
$unique = array_unique([1, 2, 2, 3]);  // [1, 2, 3]
// 18. 替换元素 - array_replace
$replaced = array_replace($arr, [1 => 100]);  // [1, 100, 20]
// 19. 填充数组 - array_fill
$filled = array_fill(0, 3, 'hello');  // ['hello', 'hello', 'hello']
// 20. 搜索值返回键 - array_search
$key = array_search(3, $arr);  // 1
?>

总结:熟练运用这些数组的相关函数能够让我们灵活地处理数据,提高开发效能。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)