I want to check only the value [id] for duplicates, and remove all keys where this “field” [id] is a duplicate.
Example: If I have numbers 1,2,1. I want the result to be 2, not 1,2. And criteria for duplicates is determined only by checking [id], not any other “field”.
Original array:
Array
(
[0] => Array
(
[name] => John
[id] => 123
[color] => red
)
[1] => Array
(
[name] => Paul
[id] => 958
[color] => red
)
[2] => Array
(
[name] => Jennifer
[id] => 123
[color] => yellow
)
)
The result I want:
Array
(
[0] => Array
(
[name] => Paul
[id] => 958
[color] => red
)
)
This should be fairly easy to accomplish with a couple of simple loops:
Result:
While there are neater ways to do it, one advantage of this method is you’re only creating new arrays for the list of ids and duplicate ids and the
array_spliceis removing the duplicates from the original array, so memory usage is kept to a minimum.Edit: Fixed a bug that meant it sometimes left one behind