这可能是一个非常简单的问题,但经过努力解决它了几个小时,我觉得我的大脑现在是在一个非常狭窄的搜索和解决方案的特定角度。我甚至可能会使用错误的功能!和array_diff()处理重复第二阵列中,存在于第一个
我有2个阵列,我想这两个阵列之间的任何可能的差异。
举例::
$dummy1 = array("0" => "508", "1" => "548", "2" => "558", "3" => "538", "4" => "563", "5" => "543");
$dummy2 = array("0" => "518", "1" => "548", "2" => "558", "3" => "538", "4" => "563", "6" => "543");
上array_diff ($dummy2 , $dummy1);
正确输出:此为简单阵列如工作正常Array ([0] => 518)
有问题的情形:我有这些2个阵列,其中不同之处在于第二个具有重复值,即具有额外的值,这恰好是与第一个数组的值之一相同。
$array1 = array("0" => "508", "1" => "548", "2" => "558", "3" => "538", "4" => "563", "5" => "543");
$array2 = array("0" => "508", "1" => "508", "2" => "548", "3" => "558", "4" => "538", "5" => "563", "6" => "543");
echo count($array1).'<br>';
echo count($array2).'<br>'; //count is here for debugging purposes
现在上array_diff ($array2, $array1);
//或不同diff_()函数
欲输出:Array ([0] => 508)
//(即额外508
值)
基本上,之间的任何可能的差异两个阵列。
我的尝试:
- 扭转阵列如果第一次检查是空
- 一些奇怪/并发
array_diff_assoc()
- 其他一些怪异/并发
array_intersect()
和混合物array_diff()
混合物
谢谢!我用完了想法/经验。
不知怎的,我知道这将是一个“只要添加..”解决方案!谢谢:D – Alexandros 2014-09-03 13:16:48