Got a multidimensional array like this one:
$A = array(
[0]=>
array(
["rel"]=> 4
["name"]=> "Bar"
...
)
[1]=>
array(
["rel"]=> 2
["name"]=> "Bar"
...
)
[2]=>
array(
["rel"]=> 1
["name"]=> "Foo"
...
)
[3]=>
array(
["rel"]=> 5
["name"]=> "Bar"
...
)
[4]=>
array(
["rel"]=> 4
["name"]=> "Tee"
...
)
)
I want to remove duplicates based on a specific key while maintaining the original array structure except index keys.
For the sake of this example let's say I want to remove those sub-arrays with identical key ["name"]
.
So the final result should look like this:
$X = array(
[0]=>
array(
["rel"]=> 4
["name"]=> "Bar"
...
)
[1]=>
array(
["rel"]=> 1
["name"]=> "Foo"
...
)
[2]=>
array(
["rel"]=> 4
["name"]=> "Tee"
...
)
)
I'm looking for an efficient solution to this problem.
Ideally an array_unique
function that accepts a key
value as a parameter to find repetitions on a given array.
$X = array_key_unique($A, 'name');