检查两个数组之间的差异,没有任何功能

时间:2019-03-21 07:00:03

标签: php arrays php-7

<configuration>
       <nodeVersion>v11.12.0</nodeVersion>
       <npmVersion>6.7.0</npmVersion>
</configuration>

我想要这两个数组之间的区别,而无需使用array_diff或其他函数

2 个答案:

答案 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中,而在第二个循环中,反之亦然。