我无法比较多维数组:
让我说我有两个数组如下!
数组1:
Array
(
[0] => Array
(
[a] => 12XXYYZZ
[b] => 30
[c] => 12
)
[1] => Array
(
[a] => 12SSYYZZ
[b] => 66
[c] => 44
)
[2] => Array
(
[a] => 12EEYYZZ
[b] => 66
[c] => 56
)
)
数组2:
Array
(
[0] => Array
(
[a] => 12XXYYZZ
[b] => 30
[c] => 12
)
[1] => Array
(
[a] => 12SSYYZZ
[b] => 66
[c] => 44
)
)
我试图比较这两个数组并找到数组2中不存在的子数组;
注意:我尝试使用Array DIFF但不适用于多维数组。
答案 0 :(得分:1)
您可以使用serialize
进行比较,例如:
$result = array_map(
'unserialize',
array_diff(
array_map('serialize', $one),
array_map('serialize', $two)
));
- 但请注意,这种情况下键值和它们的顺序都很重要。或者,您可以使用array_udiff
,如下所示:
$result = array_udiff($one, $two, function($x, $y)
{
return strcasecmp(serialize($x), serialize($y));
});