<configuration>
<nodeVersion>v11.12.0</nodeVersion>
<npmVersion>6.7.0</npmVersion>
</configuration>
我想要这两个数组之间的区别,而无需使用array_diff或其他函数
答案 0 :(得分:1)
很显然,我不会通过代码转储来回答这项家庭作业/面试任务,而是使用一般的(乏味的)方法:
foreach
在两个列表($array1 as $x1
/ $array2 as $x2
)上。
保留状态标志$found = false;
如果内部foreach找到$x1 == $x2
,则设置$found
在内循环之后,将$x1
收集到差异列表(if (!$found)
)中。
答案 1 :(得分:0)
$diffArray=array();
foreach($array1 as $value){
if(!in_array($value,$array2)
$diffArray[$value] = $value;
}
foreach($array2 as $value){
if(!in_array($value,$array1)
$diffArray[$value] = $value;
}
一个接一个地遍历数组,并将差异放在数组KEY中,以避免重复。在第一个循环中,它将选择array1中的元素,但不在array2中,而在第二个循环中,反之亦然。