Мы можем использовать 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 ) )
Любой может мне помочь …
Комментарии пользователя на странице 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; } ?>
Вы можете сериализовать подмассивы (через serialize()
) в новый массив, а затем запустить array_unique()
, а затем unserialize результирующий набор массивов.