array_intersect_key() Function
PHP的这个内置函数用于计算两个或多个数组的交集。这个函数不同于array_intersect()和array_intersect_assoc(),它使用键进行比较并返回匹配的键元素。该函数只打印第一个数组的元素,其键与所有其他数组的元素匹配。
为了更好地理解,可以参考array_intersect()和array_intersect_assoc()。
语法
1 | array array_intersect_key($array1, $array2, $array3, $array4...) |
参数:array_intersect_key()函数接受至少两个数组作为参数。它可以取任意数量大于或等于两个以逗号分隔的数组(‘,’)。
返回类型:函数返回另一个数组,该数组包含第一个数组的元素,这些元素存在于作为参数传递的所有其他数组中,其键值彼此匹配。如果没有匹配的键,则返回NULL数组。
例子
1 2 3 4 5 6 7 8 9 | Input : $array1 = ("1" => "aakash", "2" => "rishav", "3" => "gaurav") $array2 = ("1" => "shyam", "2" => "rishi", "5" => "rishav") $array3 = ("1" => "aakash", "4" => "raghav", "2" => "ravi") Output : Array ( [1] => aakash [2] => rishav ) |
下面的程序演示了array_intersect_key()函数。在下面的程序中,我们使用array_intersect_key()来查找数组之间的交集。让我们进一步了解这个函数和array_intersect()和array_intersect_assoc()的其他函数的输出,以了解它们之间的区别。
1 2 3 4 5 6 7 8 9 10 11 12 | <?php // PHP program to illustrate the use // of array_intersect_key() function $array1 = array("1" => "aakash", "2" => "rishav", "3" => "gaurav"); $array2 = array("1" => "shyam", "2" => "rishi", "5" => "rishav"); $array3 = array("1" => "aakash", "4" => "raghav", "2" => "ravi"); print_r(array_intersect_key($array1, $array2, $array3)); ?> |
输出
1 2 3 4 5 | Array ( [1] => aakash [2] => rishav ) |
参考