PHP array_intersect()函数 用于获取二个数组或者多个数组的交集,计算交集的条件是比较数组的键。
语法
array_intersect_key(array1,array2,array3...)
参数
参数 | 说明 | 可选/必须 |
array1 | 要计算的第一个数组 | 必须 |
array2 | 要计算的第二个数组 | 必须 |
array3 | 要计算的第三个数组 | 可选 |
返回值
返回多个数组的交集
注意
- 计算交集的条件是比较数组的键。
- 返回值的value值以第一个数组的value值为准。
例子
<?php
$color1 = array("c"=>"yellow","b"=>"green","a"=>"red");
$color2 = array("d"=>"white","b"=>"pink","f"=>"black");
$result = array_intersect_key($color1, $color2);
var_dump($result);
?>
输出:array(1) {
["b"]=>
string(5) "green"
}
["b"]=>
string(5) "green"
}
其中返回值的value值为green,它是第一个数组$color1的value值。
现在我们把$color1和$color2交换顺序看下。
<?php
$color1 = array("c"=>"yellow","b"=>"green","a"=>"red");
$color2 = array("d"=>"white","b"=>"pink","f"=>"black");
$result = array_intersect_key($color2, $color1);
var_dump($result);
?>
输出array(1) {
["b"]=>
string(5) "pink"
}
["b"]=>
string(5) "pink"
}
结果如我们所料,值为$color2的值 了,因为此时$color2在参数的前面。