例如我有两个数组,
$arrayA = [0=>"A", 1=>"B", 2=>"C", 3=>"C", 4=>"E", 5=>"F"];
$arrayB = [0=>"B", 1=>"C"];
如果我使用array_intersect():
$same = array_intersect($arrayA, $arrayB);
我将得到$same
的结果。
1 => B
2 => C
3 => C
相反,我想要实现的是仅获取
1 => B
2 => C
更新
在尝试了amow和提供的答案之后,我意识到这种方法存在一定的限制。如果我的数组是以下形式,
$arrayA = [0=>"A", 1=>"B", 2=>"C", 3=>"B", 4=>"C", 5=>"E", 6=>"F"];
$arrayB = [0=>"B", 1=>"C", 2=>"B", 3=>"C"];
$same = array_unique(array_intersect($arrayA, $arrayB));
< p > < code > $same 的结果仍然是
1 => B,
2 => C
where I'm hoping to get
1 => B,
2 => C,
3 => B,
4 => C
array_intersect
,那么在数组B中包含 [B,C,B,C] 或 [B,C] 时,将返回相同的结果;而我想要实现的是两种情况都应该分别返回[1=>B,2=>C,3=>B,4=>C]
或[1=>B,2=>C]
。 - Tommy Leeif($bIndex !== false){ ... }
处理两种情况。 - Ekin