Php 检查两个不带任何函数的数组之间的差异
我希望这两个数组之间的差异不使用任何函数,如array_diff等Php 检查两个不带任何函数的数组之间的差异,php,arrays,php-7,Php,Arrays,Php 7,我希望这两个数组之间的差异不使用任何函数,如array_diff等 $array1=[1,2,3,4,5,6]; $array2=[1,2,3,5,6,7,8,9,10]; 逐个迭代数组,将差异也放在数组键中以避免重复。在第一个循环中,它将选择数组1中的元素,但不在数组2中,在第二个循环中,反之亦然。显然,我不会用代码转储来回答这个家庭作业/面试任务,而是采用一般(且繁琐)的方法: 在两个列表上($array1作为$x1/$array2作为$x2) 保留州标志$found=false 如果内
$array1=[1,2,3,4,5,6];
$array2=[1,2,3,5,6,7,8,9,10];
逐个迭代数组,将差异也放在数组键中以避免重复。在第一个循环中,它将选择数组1中的元素,但不在数组2中,在第二个循环中,反之亦然。显然,我不会用代码转储来回答这个家庭作业/面试任务,而是采用一般(且繁琐)的方法:
- 在两个列表上(
/$array1作为$x1
)$array2作为$x2
- 保留州标志
$found=false代码>
- 如果内部foreach找到
,则设置$x1==$x2
$found
- 在内部循环之后,在差异列表中收集
($x1
)if(!$found)
,这是不允许的。。。(根据OP要求)我猜他只是指array_diff
,他也可以在_array
中编写的自定义实现\
$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;
}