Organizational Research By

Surprising Reserch Topic

using array intersect on a multi dimensional array using -'php,arrays,multidimensional-array,array-intersect'


using array intersect on a multi dimensional array  using -'php,arrays,multidimensional-array,array-intersect'

I have two arrays that both look like this:

Array
(
    [0] => Array
        (
            [name] => STRING
            [value] => STRING
        )

    [1] => Array
        (
            [name] => STRING
            [value] => STRING
        )

    [2] => Array
        (
            [name] => STRING
            [value] => STRING
        )
)


and I would like to be able to replicate array_intersect by comparing the ID of the sub arrays within the two master arrays.  So far, I haven't been successful in my attempts.  :(
    

asked Sep 8, 2015 by rajesh
0 votes
10 views



Related Hot Questions

1 Answer

0 votes
Use array_uintersect() to use a custom comparison function, like this: $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']); } which yields, as you would hope: Array ( [0] => Array ( [name] => asdfjkl; [value] => foo ) [2] => Array ( [name] => uiop [value] => baz ) )
answered Sep 8, 2015 by rajesh

...