当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-02-13 21:19:04 浏览: 评论:0 

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.  
  3.         $array2 = ("1" => "shyam", "2" => "rishi", "5" => "rishav") 
  4.  
  5.         $array3 = ("1" => "aakash", "4" => "raghav", "2" => "ravi") 

输出:

  1. Array 
  2.  
  3. ( 
  4.  
  5.   [1] => aakash 
  6.  
  7.   [2] => rishav 
  8.  
  9. ) 

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

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

输出:

  1. Array 
  2.  
  3. ( 
  4.  
  5.     [1] => aakash 
  6.  
  7.     [2] => rishav 
  8.  
  9. ) 

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

Tags: PHP数组间的交集

分享到: