Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Удаление дублей из многомерных масивов. [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 2 [3]   

> Без описания
difight
Отправлено: 04 Марта, 2014 - 12:52:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




EuGen пишет:
$result = array_reduce($data, function(&$current, $x)
{
$current[$x['uid']]=$x;
return $current;
}, array());

как в данном коде сделать так что бы повторяющиеся элементы вообще исключались из массива ?
 
My status
 Top
difight
Отправлено: 05 Марта, 2014 - 13:40:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




difight пишет:
как в данном коде сделать так что бы повторяющиеся элементы вообще исключались из массива ?

Сделал совсем по другому, может быть кому-нибудь понадобиться
PHP:
скопировать код в буфер обмена
  1.  foreach ($newarr as $keys => $value) {
  2.                 $select = $newarr[$keys]['article'];
  3.                 $newkey = $keys + 1;
  4.                 for ($i = $newkey; $i <= count($newarr); $i++) {
  5.                     if ($newarr[$i]['article'] == $select) {
  6.                         unset($newarr[$keys]);
  7.                         unset($newarr[$newkey]);
  8.                     }
  9.                 }
  10.                
  11.             }
 
My status
 Top
Dualist
Отправлено: 29 Декабря, 2016 - 18:07:06
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2016  


Помог: 0 раз(а)




Удаление дублей в 2-мерном массиве по столбцу $column
Оставляет последний встретившийся дублирующийся элемент

PHP:
скопировать код в буфер обмена
  1. function arr_uniq($arr,$column) {
  2.         if (is_array($arr)) {
  3.                 $uniq = array();
  4.                 $result = array();
  5.                 foreach ($arr as $key => $val) {
  6.                         $uniq[$key] = true;
  7.                         foreach ($arr as $k => $v) {
  8.                                 if (isset($val[$column]) && isset($v[$column]) && ($val[$column] == $v[$column]) && ($key != $k)) {
  9.                                         $uniq[$k] = false;
  10.                                 }
  11.                         }
  12.                 }
  13.                 foreach ($arr as $key => $val) {
  14.                         if ($uniq[$key]) {
  15.                                 $result[$key] = $val;
  16.                         }
  17.                 }
  18.                 return $result;
  19.         } else {
  20.                 return $arr;
  21.         }
  22. }
 
 Top
Страниц (3): « 1 2 [3]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB