PHP如何计算多个数组间的交集?(代码示例)

PHP的这个内置函数array_intersect_key()用于计算两个或多个数组的交集。该函数不同于array_intersect()和array_intersect_assoc(),它使用键进行比较并返回匹配的关键元素。该函数只打印第一个数组的元素,其键值与所有其他数组的元素匹配。

语法:

array array_intersect_key($array1, $array2, $array3, $array4...)

参数:array_intersect_key()函数接受至少两个数组作为参数。它可以取任意数量的数组,大于或等于两个以逗号(',')分隔的数组。

返回类型:函数返回另一个数组,其中包含第一个数组的元素,该元素作为参数存在于所有其他数组中,其键值彼此匹配。如果没有匹配的键,则返回一个空数组。

例子:

  1. 输入: $array1 = ("1" => "aakash", "2" => "rishav", "3" => "gaurav")
  2. $array2 = ("1" => "shyam", "2" => "rishi", "5" => "rishav")
  3. $array3 = ("1" => "aakash", "4" => "raghav", "2" => "ravi")

输出:

  1. Array
  2. (
  3. [1] => aakash
  4. [2] => rishav
  5. )

下面的程序演示了array_intersect_key()函数。在下面的程序示例中,我们使用array_intersect_key()找到数组之间的交集。

  1. <?php
  2. $array1 = array("1" => "aakash", "2" => "rishav", "3" => "gaurav");
  3. $array2 = array("1" => "shyam", "2" => "rishi", "5" => "rishav");
  4. $array3 = array("1" => "aakash", "4" => "raghav", "2" => "ravi");
  5. print_r(array_intersect_key($array1, $array2, $array3));

输出:

  1. Array
  2. (
  3. [1] => aakash
  4. [2] => rishav
  5. )

本篇文章就是关于PHP计算多个数组间交集的方法介绍,简单易懂,希望对需要的朋友有所帮助!