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_slice() 和 array_splice() 详解:数组切片与截取
分页功能中需要从数组中截取一页的数据。array_slice()和 array_splice() 都能做到,但一个返回新数组,一个修改原数组。这篇文章把这两个函数的区别和使用场景理清楚。 array_slice()基本用法 array_slice(array, offset, length) - 从…
- 2026年7月3日
- 198 次
PHP array_combine() 函数详解:用两个数组构造键值对
昨天处理数据库查询结果时,需要从字段名和字段值两个数组构造关联数组。本来用 foreach 循环拼,后来发现 array_combine() 一行就能搞定,而且代码可读性更好。 基本用法 array_combine(array_keys, array_values) - 用一个数组的值作为键名,另一…
- 2026年7月3日
- 115 次
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 次
PHP explode() 和 implode() 函数详解:字符串与数组互转
PHP 中最常用的两个字符串/数组转换函数就是 explode() 和 implode()。一个把字符串切分成数组,一个把数组拼接成字符串。虽然简单,但实际使用中还是有不少细节和坑。 这篇文章把这两个函数的用法、技巧、常见场景都整理出来。 explode():字符串转数组 explode(separ…
- 2026年7月3日
- 144 次
