It is possible that rows might have different id values but the same name value -- such as bar in my sample input data.
I need to compare the arrays based on id values only.
Expected Output: (because ids 34 and 56 are found in $array2)
array(
array('name' => 'foo', 'id' => 12)
)
I tried $one_not_two = array_diff($array1['id'], $array2['id']); which does not return anything.
I also tried $one_not_two = array_diff($array1['id'], $array2['id']);
which returned an error "argument is not an array."
Originally, I got around it by extracting the ids into a one-dimensional array, then just comparing those. Now a new feature in our application requires me to compare the rows while maintaining the multidimensional structure. Any advice?
Our servers are currently running php 5.3 if that makes any difference.
Solution
Because the arrays are multidimensional you have to extract the ids like this: