Убрать дубли из многомерного массива

prm.lab.ru

Новичок
Всем доброго времени уважаемые форумчане!
Бьюсь весь день не могу понять, как убрать дубли из массива, к примеру есть массив.
PHP:
$myArray = array(
  array(
    array("name"=>"Иванов И.И.", "age"=>"25", "email"=>"[email protected]"),
    array("name"=>"Иванов И.И.", "age"=>"25", "email"=>"[email protected]")
  ),
  array(
    array("name"=>"Иванова И.И.", "age"=>"25", "email"=>"[email protected]"),
    array("name"=>"Сидоров С.С.", "age"=>"47", "email"=>"[email protected]")
  )
);
Как убрать из него дубли и вывести только уникальные значения? И можно ли сравнивать только к примеру по "name"?
Пробовал так
PHP:
$myArray=array_map("unserialize", array_unique(array_map("serialize", $myArray)));
echo "<pre>";

print_r($myArray);
Не работает.
Пробовал так
PHP:
print_r(array_unique($myArray, SORT_REGULAR));
Тоже не работает.
В случае с двумерным массивом - дубли убирает. Что ни так делаю?
 

fixxxer

К.О.
Партнер клуба
И можно ли сравнивать только к примеру по "name"?
Ну, например, можно воспользоваться тем, что в php массив одновременно и хэш-таблица.

PHP:
$result = array_map(function($a) {
    return array_values(array_reduce($a, function ($carry, $item) {
        return $carry + [$item['name'] => $item];
    }, []));
}, $myArray);
 
Сверху