PHP中获取数组交集可通过array_intersect()比较值并保留键名,array_intersect_key()按键名取交集,array_intersect_assoc()同时匹配键和值,还可使用带回调的变体函数自定义比较逻辑。

PHP中获取数组交集主要使用几个内置函数,根据不同的需求选择合适的函数即可。
1. array_intersect() — 计算数组的值的交集
该函数比较多个数组的值,返回包含所有在第一个数组中出现且也在其他数组中存在的值的数组。
只比较值,不比较键 保留第一个数组中元素的键名 值通过严格比较(字符串类型匹配)判断是否相等示例:$arr1 = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];$arr2 = ['d' => 'apple', 'e' => 'date'];$result = array_intersect($arr1, $arr2);// 结果: ['a' => 'apple']登录后复制
2. array_intersect_key() — 按键名计算交集
比较的是数组的键名,而不是值。返回第一个数组中键名存在于其他数组中的元素。
AUGMVC权限管理微信开发源码 一、源码特点1、UI:界面美观 ;漂亮 ;大方;实用。 二、功能介绍这是一款集MVC+权限管理+微信开发的源码,功能比较丰富。三、菜单功能1、微信管理:微信菜单管理、微信调用管理、微信关注用户、微信文章管理。2、基础资料:实体类生成、数据迁移、字典管理3、系统设置:组织管理、权限管理、角色管理、用户管理、用户组管理。4、系统菜单:登入系统、用户密码修改、登入日志查询。四、注意事项1、管理员用
0 查看详情
示例:$arr1 = ['name' => 'Tom', 'age' => 25, 'city' => 'Beijing'];$arr2 = ['name' => 'Jerry', 'city' => 'Shanghai', 'job' => 'Dev'];$result = array_intersect_key($arr1, $arr2);// 结果: ['name' => 'Tom', 'city' => 'Beijing']登录后复制
3. array_intersect_assoc() — 同时比较值和键
只有当键名和值都相同时才被认为是相同的元素。
立即学习“PHP免费学习笔记(深入)”;
示例:$arr1 = ['color' => 'red', 'size' => 'M'];$arr2 = ['color' => 'red', 'size' => 'L'];$result = array_intersect_assoc($arr1, $arr2);// 结果: ['color' => 'red']登录后复制
4. 其他变体函数
array_intersect_uassoc():使用用户自定义函数比较键名 array_intersect_ukey():使用回调函数比较键名 array_uintersect():使用回调函数比较值 array_uintersect_assoc():值用回调比较,键用内部方法比较提示: 如果需要更复杂的比较逻辑(比如忽略大小写、自定义规则),可以配合 array_filter() 和 in_array() 实现。基本上就这些,按需选择函数即可。以上就是php数组交集函数的详细内容,更多请关注php中文网其它相关文章!



