Сравнение элементов в многомерном массиве
Скажем, у меня есть многомерный массив. Например:
Array (
[0] => Array (
[animal_id] => 5494
[animal_name] => "Suzy"
[animal_type] => "zebra"
[animal_location] => 0
[animal_awake] => 1
[animal_age] => 3 )
[1] => Array (
[animal_id] => 5494
[animal_name] => "Joshua"
[animal_type] => "panda"
[animal_location] => 5
[animal_awake] => 0
[animal_age] => 8 )
[2] => Array (
[animal_id] => 5494
[animal_name] => "Debra"
[animal_type] => "snake"
[animal_location] => 7
[animal_awake] => 1
[animal_age] => 3 )
[3] => Array (
[animal_id] => 5495
[animal_name] => "Caleb"
[animal_type] => "zebra"
[animal_location] => 0
[animal_awake] => 1
[animal_age] => 3 )
[4] => Array (
[animal_id] => 5495
[animal_name] => "Joshua"
[animal_type] => "panda"
[animal_location] => 5
[animal_awake] => 0
[animal_age] => 8 )
[5] => Array (
[animal_id] => 5495
[animal_name] => "Debra"
[animal_type] => "snake"
[animal_location] => 7
[animal_awake] => 1
[animal_age] => 3 )
[6] => Array (
[animal_id] => 5496
[animal_name] => "Emily"
[animal_type] => "zebra"
[animal_location] => 0
[animal_awake] => 1
[animal_age] => 3 )
[7] => Array (
[animal_id] => 5496
[animal_name] => "Joshua"
[animal_type] => "panda"
[animal_location] => 5
[animal_awake] => 0
[animal_age] => 8 )
[8] => Array (
[animal_id] => 5496
[animal_name] => "Debra"
[animal_type] => "snake"
[animal_location] => 7
[animal_awake] => 1
[animal_age] => 3 )
)
И я хочу сравнить всех змей против змей и всех панд против панд и т. Д. (Но не змей против панды) и поместить уникальные элементы в массив (все уникальные элементы в один массив). Как я буду делать это. Поскольку они являются элементами в массиве, я немного озадачен. Кроме того, я заранее не знаю, сколько будет разных типов. Например, однажды мне можно было передать многомерный массив с Panda, Bear, Snake - В следующий раз мне можно было передать массив с Bird, Cat, Panda, Zebra.
Есть идеи?
FINAL OUTPUT
Array (
[0] => Array (
[animal_id] => 5494
[animal_name] => "Suzy"
[animal_type] => "zebra"
[animal_location] => 0
[animal_awake] => 1
[animal_age] => 3 )
[1] => Array (
[animal_id] => 5494
[animal_name] => "Joshua"
[animal_type] => "panda"
[animal_location] => 5
[animal_awake] => 0
[animal_age] => 8 )
[2] => Array (
[animal_id] => 5495
[animal_name] => "Caleb"
[animal_type] => "zebra"
[animal_location] => 0
[animal_awake] => 1
[animal_age] => 3 )
[3] => Array (
[animal_id] => 5495
[animal_name] => "Debra"
[animal_type] => "snake"
[animal_location] => 7
[animal_awake] => 1
[animal_age] => 3 )
[4] => Array (
[animal_id] => 5496
[animal_name] => "Emily"
[animal_type] => "zebra"
[animal_location] => 0
[animal_awake] => 1
[animal_age] => 3 )
)