检查多维数组之间的差异 [英] check difference between multidimensional arrays
本文介绍了检查多维数组之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从多维数组中删除所有元素等于另一个多维数组的方法。
i'm trying a way to remove from a multidimensional array, all the elements equal to another multidimensional array.
例如,我拥有这两个数组;
For example, i've these two arrays;
$array1 = Array ( [0] => Array ( [item1] => 3017, [item2] => 7 ), [1] => Array ( [item1] => 3018, [item2] => 4 ), [2] => Array ( [item1] => 3020, [item2] => 9 ), [3] => Array ( [item1] => 3024, [item2] => 5 ) )
和
$array2 = Array ( [0] => Array ( [item1] => 3017, [item2] => 7 ), [1] => Array ( [item1] => 3018, [item2] => 200 ), [2] => Array ( [item1] => 3020, [item2] => 300 ), [3] => Array ( [item1] => 3024, [item2] => 5 ) )
这两个数组的区别在于元素[1]和[2]中[item2]的值。
The difference beetween these two arrays is the value of [item2] in element [1] and [2].
我想要一个仅包含第一个数组的不同值的数组。就我而言,应该是:
I want get an array that contains only the different values of the first array. In my case, should be:
array_diff = array( [1] => Array ( [item1] => 3018, [item2] => 4 ), [2] => Array ( [item1] => 3020, [item2] => 9 ) )
推荐答案
使用json比较;)
$jsonDiff = array_diff(array_map('json_encode', $array1), array_map('json_encode', $array2));
$arrayDiff = array_map('json_decode', $diff);
致谢。
这篇关于检查多维数组之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文