所属分类:php教程
php求2个数组相同元素的方法:1、创建一个php示例文件;2、定义两个有相同元素的数组;3、使用“array_intersect($array1,$array2)”或“array_intersect_assoc()”方法获取两个数组相同元素即可。
本教程操作环境:windows10系统、PHP8.1版、DELL G3电脑
php 怎么求2个数组相同的元素?
php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)
(一)php获取两个数组相同元素
12 array
array_intersect
(
array
$array1
,
array
$array2
, [,
array
$...])
array
array_intersect_assoc
(
array
$array1
,
array
$array2
, [,
array
$...])
登录后复制
这两个方法的功能基本一致,都是返回两个数组(也可以是多个数组)中都存在的元素,不同的是,前者只考虑数组中元素的 value 一致就认为两者相同,而后者需要 key 和 value 都一致才认为两者相同,例如:
123456 <?php
$array1
=
array
(
'1'
,
'a'
=>
'aaaaaa'
,
'b'
=>
'bbbbbb'
,
'c'
);
$array2
=
array
(
'a'
=>
'aaaaaa'
,
'c'
=>
'bbbbbb'
,
'c'
,
'1'
);
var_dump(
array_intersect
(
$array1
,
$array2
));
登录后复制
运行上面的代码会得到如下结果:
12345678910 array
(4) {
[0]=>
string(1)
"1"
[
"a"
]=>
string(6)
"aaaaaa"
[
"b"
]=>
string(6)
"bbbbbb"
[1]=>
string(1)
"c"
}
登录后复制
而使用方法 array_intersect_assoc()将会得到如下结果:
1234 array
(1) {
[
"a"
]=>
string(6)
"aaaaaa"
}
登录后复制
(二)php比较两个数组中的不同元素
12 array
array_diff
(
array
$array1
,
array
$array2
, [,
array
$...])
array
array_diff_assoc
(
array
$array1
,
array
$array2
, [,
array
$...])
登录后复制
类似的,这两个方法的基本功能也是一致的,返回第一个数组中有,但是其它数组没有的元素。 前者只比较值,后者同时比较 key 和 value。
123456 <?php
$array1
=
array
(
'1'
,
'a'
=>
'aaaaaa'
,
'b'
=>
'bbbbbb'
,
'c'
);
$array2
=
array
(
'a'
=>
'aaaaaa'
,
'c'
=>
'bbbbbb'
,
'c'
,
'1'
);
var_dump(
array_diff
(
$array1
,
$array2
));
登录后复制
上面代码的运行结果为:
12 array
(0) {
}
登录后复制
而如果把最后一行更换为 var_dump(array_diff_assoc($array1, $array2)); 将得到如下结果:
12345678 array
(3) {
[0]=>
string(1)
"1"
[
"b"
]=>
string(6)
"bbbbbb"
[1]=>
string(1)
"c"
}
登录后复制
推荐学习:《PHP视频教程》
以上就是php 怎么求2个数组相同的元素的详细内容,更多请关注zzsucai.com其它相关文章!