Nat*_*han 27 php arrays array-intersect multidimensional-array
我有两个看起来像这样的数组:
Array
(
[0] => Array
(
[name] => STRING
[value] => STRING
)
[1] => Array
(
[name] => STRING
[value] => STRING
)
[2] => Array
(
[name] => STRING
[value] => STRING
)
)
Run Code Online (Sandbox Code Playgroud)
我希望能够通过比较两个主数组中子数组的ID来复制array_intersect.到目前为止,我的尝试并没有成功.:(
Wis*_*guy 45
使用array_uintersect()
使用自定义的比较函数,就像这样:
$arr1 = array(
array('name' => 'asdfjkl;', 'value' => 'foo'),
array('name' => 'qwerty', 'value' => 'bar'),
array('name' => 'uiop', 'value' => 'baz'),
);
$arr2 = array(
array('name' => 'zxcv', 'value' => 'stuff'),
array('name' => 'asdfjkl;', 'value' => 'foo'),
array('name' => '12345', 'value' => 'junk'),
array('name' => 'uiop', 'value' => 'baz'),
);
$intersect = array_uintersect($arr1, $arr2, 'compareDeepValue');
print_r($intersect);
function compareDeepValue($val1, $val2)
{
return strcmp($val1['value'], $val2['value']);
}
Run Code Online (Sandbox Code Playgroud)
正如你所希望的那样产生:
Array
(
[0] => Array
(
[name] => asdfjkl;
[value] => foo
)
[2] => Array
(
[name] => uiop
[value] => baz
)
)
Run Code Online (Sandbox Code Playgroud)