Подтвердить что ты не робот

PHP удаляет повторяющиеся значения из многомерного массива

Мы можем использовать array_unique() для удаления повторяющейся записи из одного многомерного массива в php. Можно ли использовать его с многомерным массивом? Это не работает для меня!

Здесь массив выглядит как

Array (
    [0] => Array ( [0] => 1001 [1] => john [2] => example )
    [1] => Array ( [0] => 1002 [1] => test [2] => dreamz )
    [2] => Array ( [0] => 1001 [1] => john [2] => example )
    [3] => Array ( [0] => 1001 [1] => example [2] => john )
    [4] => Array ( [0] => 1001 [1] => john [2] => example )
)

Кто-нибудь может мне помочь...

4b9b3361

Ответ 1

Комментарии пользователя на странице array_unique пролить свет на это. Скорее всего, вы найдете в этих комментариях скрытые драгоценные камни - это очень удобная документация.

Просто быстрый браузер показал следующее, чтобы удалить дубликаты из многомерного массива:

<?php
function super_unique($array)
{
  $result = array_map("unserialize", array_unique(array_map("serialize", $array)));

  foreach ($result as $key => $value)
  {
    if ( is_array($value) )
    {
      $result[$key] = super_unique($value);
    }
  }

  return $result;
}
?>

Ответ 2

Вы можете сериализовать подмассивы (через serialize()) в новый массив, затем запустите array_unique(), а затем unserialize результирующий набор массивов.