我有两个阵列。我想获得具有aray索引值相同的公共值。
检查我的代码 -
$arr1 = array(0=>5,1=>7, 2=>9, 3=>4, 4=>2, 5=>8, 6=>7, 7=>0, 8=>1);
$arr2 = array(0=>7,1=>2, 2=>4, 3=>5, 4=>9, 5=>8, 6=>5, 7=>0, 8=>6);
我想要 -
array(
5=>8
7=>0
)
并且$arr2
是重复的值名称5
我还希望从$arr2
array(
3=>5
6=>5
)
如何获取上述两个数组的匹配值和重复值?
答案 0 :(得分:1)
$arr1 = array(0=>5,1=>7, 2=>9, 3=>4, 4=>2, 5=>8, 6=>7, 7=>0, 8=>1);
$arr2 = array(0=>7,1=>2, 2=>4, 3=>5, 4=>9, 5=>8, 6=>5, 7=>0, 8=>6);
$arr = array_intersect_assoc($arr1, $arr2);
答案 1 :(得分:0)
此代码可以正常使用
<?php
$arr1 = array(0=>5,1=>7, 2=>9, 3=>4, 4=>2, 5=>8, 6=>7, 7=>0, 8=>1);
$arr2 = array(0=>7,1=>2, 2=>4, 3=>5, 4=>9, 5=>8, 6=>5, 7=>0, 8=>6);
$arr = array_intersect_assoc($arr1, $arr2);
print_r($arr);
$duplicate=array(); $duplicateVirtual=[];
foreach($arr2 as $index=>$val)
{
if(in_array($val,$duplicateVirtual)){ $duplicate[$index]=$val; }
$duplicateVirtual[]=$val;
}
print_r($duplicate);
您甚至可以创建一个函数来检查重复并将数组作为变量传递。
<强> DEMo 强>