Верх страницы
Обложка к записи PHP: получение уникальных значений многомерного массива
Время для прочтения: 0 мин. 5 сек.

PHP: получение уникальных значений многомерного массива

Появилась необходимость удалить из многомерного PHP-массива все дубликаты. На ум сразу пришла функция array_unique, которая отлично работает с одномерными массивами. Но применить её «в лоб» не вышло.

После курения манов и гугления яндексом родилось такое решение:


<?php
$array = [];
$array = array_map( 'unserialize', array_unique( 
  array_map( 'serialize', $array )
));
?>

Есть небольшие проблемы при отработке данного варианта, но это мелочи.

Народ также посоветовал мне использовать функцию array_unique с аргументом SORT_REGULAR, но это работает в PHP с версии 5.2.9.

RTFM

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

5 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
ictv
ictv
7 лет назад

Вот еще есть решение


&ly;?php
function unique_array_by_key($array, $key) {
$temp_array = array();
$i = 0;
$key_array = array();

foreach($array as $val) {
if (!in_array($val[$key], $key_array)) {
$key_array[$i] = $val[$key];
$temp_array[$i] = $val;
}
$i++;
}

return $temp_array;
}

В норм виде все здесь http://regid.biz/php-unikalizirovat-massiv-po-klyuchu/

mihdan
7 лет назад
Ответить на  ictv

Тоже имеет право на жизнь

Артём
Артём
5 лет назад

ictv, То что нужно было! Многомерный массив уникализирует в лёгкую.

Артём
Артём
5 лет назад
Ответить на  Кобзарёв Михаил

Да, стоит. Решение лучше, чем предложенное вами.

Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы