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

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

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 数组的交集和并集操作!


THE END
喜欢就支持以下吧
点赞 0
评论 抢沙发
友好交流,请勿发纯表情,请勿灌水,会被封号喔
提交