我没有在网上找到太多关于此的资源。我有2个阵列。我想删除其他数组中不存在的所有项目。
数组1
array(3) {
[0]=>
string(8) "download"
[1]=>
string(4) "test"
[2]=>
string(4) "edit"
}
数组2
array(3) {
[0]=>
string(8) "download"
[1]=>
string(10) "{category}"
[2]=>
string(4) "edit"
}
所以我应该得到的最终数组就像
array(3) {
[0]=>
string(8) "download"
[2]=>
string(4) "edit"
}
答案 0 :(得分:2)
array_intersect()
就是您所需要的:
<?php
$array1 = array("download", "test", "edit");
$array2 = array("download", "category", "edit");
$array3 = array_intersect($array1, $array2);
var_dump($array3);
?>
答案 1 :(得分:1)
您可以使用描述为here
的array_diff函数$array3 = array_diff($array1, $array2)
将是array1中出现的所有元素,这些元素也不会出现在array2
中要查找重叠,您可以使用类似的array_intersect函数
答案 2 :(得分:0)
您可以使用功能array_intersect_ukey。
答案 3 :(得分:0)
你可以用2个foreach来做到这一点:
<?php
$array1 = array("download", "test", "edit");
$array2 = array("download", "category", "edit");
$array3 = array();
foreach($array1 as $value){
foreach($array2 as $value2){
if($value === $value2){
$array3[] = $value;
break;
}
}
}
print_r($array3);