PHP 数组查找函数 in_array()、array_search()、array_keys() 实战对比
最近写权限验证的时候,纠结用 in_array 还是 array_key_exists,查了半天文档才发现这俩根本不是一个东西。今天把这几个数组查找函数捋清楚。 in_array() 判断值是否存在 in_array 最常用的,判断一个值在不在数组里。 $users = ['admin…
- 2026年7月3日
- 106 次
PHP array_merge_recursive() 和 array_replace() 详解:数组合并与替换
前言 合并数组时 array_merge() 是首选,但遇到关联数组时会有覆盖行为,多维数组时又会有键名重复问题。array_merge_recursive() 和 array_replace() 提供了不同的合并策略。 array_merge_recursive() 递归合并 array_merg…
- 2026年7月3日
- 219 次
PHP array_key_first() 和 array_key_last():获取数组首尾键名
以前获取数组的第一个键名需要 current() 配合 key(),或者用 reset()。PHP 7.3 引入了 array_key_first() 和 array_key_last(),语义更清晰,使用更简洁。 ## 基本用法 array_key_first(array) - 获取数组的第一个键…
- 2026年7月3日
- 194 次
PHP array_diff() 和 array_intersect() 详解:数组集合运算
前言 做数据对比时经常需要找出两个数组的差集和交集。array_diff() 和 array_intersect() 就是干这个的。这篇文章把它们和 array_merge() 的区别理清楚。 array_diff() 差集 array_diff(array1, array2, ...) - 返回在…
- 2026年7月3日
- 198 次
PHP array_rand()、array_sum()、array_product() 常用聚合函数
抽奖、随机推荐、统计求和——这些需求太常见了,PHP 的数组聚合函数刚好派上用场。这篇文章整理几个最实用的聚合函数。 ## array_rand() 随机选取 array_rand(array, n) - 从数组中随机选出 n 个键名。注意:返回的是键名,不是值。 ` ` ### 多个随机键名 ``…
- 2026年7月3日
- 180 次
PHP array_flip() 和 array_key_exists() 详解:反转键值与键名判断
最近写权限检查函数时,需要频繁判断一个 ID 是否在允许列表中。用 in_array($id, $arr) 查了老半天,后来发现把数组反转后,array_key_exists() 的性能高出几个数量级。 这篇文章聊聊array_flip()和 array_key_exists() 的配合使用,以及常…
- 2026年7月3日
- 149 次
PHP array_slice() 和 array_splice() 详解:数组切片与截取
分页功能中需要从数组中截取一页的数据。array_slice()和 array_splice() 都能做到,但一个返回新数组,一个修改原数组。这篇文章把这两个函数的区别和使用场景理清楚。 array_slice()基本用法 array_slice(array, offset, length) - 从…
- 2026年7月3日
- 198 次
PHP array_walk() 函数详解:给数组每个元素套上自定义逻辑
最近在给一个表单数据处理函数加日志,需要遍历每个字段判断是否合法。本来写了个 foreach,后来发现 array_walk() 一行就能搞定,而且还能改原数组的值。 这篇文章聊聊 array_walk()的用法、传引用参数、和array_map()的区别。 基本用法 array_walk(arra…
- 2026年7月3日
- 125 次
PHP array_reduce() 函数详解:数组归约与聚合
最近在处理一段数据处理代码时,发现用 for 循环累加、计数、拼接字符串的代码太丑了。后来了解了array_reduce() 函数,发现它能把这些操作浓缩到几行代码里。 这篇文章把array_reduce()的各种用法、实战场景和注意事项整理出来。 array_reduce()基本用法 array_…
- 2026年7月3日
- 103 次
PHP in_array()、array_search()、array_key_exists() 查找函数对比
最近写权限检查函数时,需要频繁判断一个 ID 是否在允许列表中。用 in_array($id, $arr) 查了老半天,后来发现把数组反转后,array_key_exists() 的性能高出几个数量级。 这篇文章聊聊array_flip()和 array_key_exists() 的配合使用,以及常…
- 2026年7月3日
- 138 次
