您的当前位置:首页正文

php多个数组是否有相同元素

2020-11-27 来源:要发发教育

php获取多个数组相同元素 (推荐学习:PHP视频教程)

array array_intersect(array $array1, array $array2, [, array $...]) 
array array_intersect_assoc(array $array1, array $array2, [, array $...])

这两个方法的功能基本一致,都是返回两个数组(也可以是多个数组)中都存在的元素,不同的是,前者只考虑数组中元素的 value 一致就认为两者相同,而后者需要 key 和 value 都一致才认为两者相同,例如:

<?php
 
$array1 = array('1', 'a' => 'aaaaaa', 'b' => 'bbbbbb', 'c');
$array2 = array('a' => 'aaaaaa', 'c' => 'bbbbbb', 'c', '1');
 
var_dump(array_intersect($array1,$array2));

运行上面的代码会得到如下结果:

array(4) {
 [0]=>
 string(1) "1"
 ["a"]=>
 string(6) "aaaaaa"
 ["b"]=>
 string(6) "bbbbbb"
 [1]=>
 string(1) "c"
}

而使用方法 array_intersect_assoc()将会得到如下结果:

array(1) {
 ["a"]=>
 string(6) "aaaaaa"
}