获取两个数组的交集或者并集数据

云游道人 2026-02-07 7 阅读 0评论

PHP 获取数组的交集和并集 在 PHP 中,可以使用内置函数轻松获取两个数组的交集或并集。获取数组交集1. array_intersect() - 获取值的交集

$array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $intersection = array_intersect($array1, $array2); print_r($intersection); // 输出: Array ( [2] => 3 [3] => 4 [4] => 5 )


2. array_intersect_assoc() - 获取键和值的交集

$array1 = ['a' => 1, 'b' => 2, 'c' => 3]; $array2 = ['a' => 1, 'c' => 4, 'd' => 5]; $intersection = array_intersect_assoc($array1, $array2); print_r($intersection); // 输出: Array ( [a] => 1 )


3. array_intersect_key() - 获取键的交集

$array1 = ['a' => 1, 'b' => 2, 'c' => 3]; $array2 = ['a' => 4, 'c' => 5, 'd' => 6]; $intersection = array_intersect_key($array1, $array2); print_r($intersection); // 输出: Array ( [a] => 1 [c] => 3 )


获取数组并集PHP 没有直接提供并集函数,但可以通过以下方式实现:1. 使用 array_merge() 和 array_unique()

$array1 = [1, 2, 3]; $array2 = [3, 4, 5]; $union = array_unique(array_merge($array1, $array2)); print_r($union); // 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 [5] => 5 )


2. 使用 + 运算符(保留第一个数组的键值)

$array1 = ['a' => 1, 'b' => 2]; $array2 = ['b' => 3, 'c' => 4]; $union = $array1 + $array2; print_r($union); // 输出: Array ( [a] => 1 [b] => 2 [c] => 4 )


注意事项对于关联数组,array_merge() 和 + 运算符的行为不同: array_merge() 会覆盖相同字符串键的值(后面的数组覆盖前面的) + 运算符会保留第一个数组的值 对于数字键,array_merge() 会重新索引,而 + 运算符会保留键名 如果需要保留键名并合并值,可以使用更复杂的自定义函数 希望这些方法能帮助你处理 PHP 数组的交集和并集操作!


喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 7人围观)