我有一个包含关联数据行的数组。
$array1 = array(
array('ITEM' => 1),
array('ITEM' => 2),
array('ITEM' => 3),
);
我有第二个数组,也包含关联数据行,我想使用第一个数组进行过滤。
$array2 = array(
array('ITEM' => 2),
array('ITEM' => 3),
array('ITEM' => 1),
array('ITEM' => 4),
);
这感觉像是一份工作array_diff()
,但是我如何才能专门比较更深层次的行ITEM
values?
如何过滤第二个数组并得到以下结果?
array(3 => array('ITEM' => 4))
您可以使用定义自定义比较函数array_udiff() http://php.net/array_udiff.
function udiffCompare($a, $b)
{
return $a['ITEM'] - $b['ITEM'];
}
$arrdiff = array_udiff($arr2, $arr1, 'udiffCompare');
print_r($arrdiff);
Output:
Array
(
[3] => Array
(
[ITEM] => 4
)
)
这使用并保留了数组的现有结构,我认为这是您想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)