所以这让我很困扰。
我有两个数组:
$array1 = array('[param1]' ,'demo' ,'[param2]' ,'some' ,'[param3]'); $array2 = array('value1' ,'demo' ,'value2' ,'some' ,'value3');
现在,我想比较这两个数组,并删除所有重复的值。 最后,我想要这两个数组,但其中没有’demo’和’some’值。 我想从具有相同索引键和值的array-s中删除所有值。 数组将始终具有相同数量的值和索引,我只想比较它们并从它们中删除具有相同索引键和值的条目。
我现在正在做这样的事情:
$clean1 = array(); $clean2 = array(); foreach($array1 as $key => $value) { if($value !== $array2[$key]) { $clean1[$key] = $value; $clean2[$key] = $array2[$key]; } } var_export($clean1); echo "<br />"; var_export($clean2);
这有效!但是我想知道还有其他方法吗?也许不使用foreach循环?有没有更优雅的方式做到这一点?
array_unique( array_merge($arr_1, $arr_2) );
或者您可以执行以下操作:
$arr_1 = array_diff($arr_1, $arr_2); $arr_2 = array_diff($arr_2, $arr_1);
我猜…