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 :: Удаление дублей в массиве

 PHP.SU

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


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

> Без описания
mstan
Отправлено: 29 Ноября, 2015 - 14:49:39
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2015  


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




На одном из сайтов нашел такую задачку:
Цитата:
У нас есть массив $array = array(1,1,1,2,2,2,2,3),
необходимо вывести 1,2,3, то есть вывести без дублей при помощи
лишь одного цикла foreach без использования функций группировки
элементов массива и не нарушая данный массив..


Если я правильно понял - нельзя использовать array_unique. В моем понимании, нужно как-то сравнивать текущий элемент массива со всеми предыдущими, и в случае его уникальности - выводить на страницу. Но с реализацией у меня как-то выходит очень туго. Поможете?
 
 Top
dcc0
Отправлено: 29 Ноября, 2015 - 15:05:39
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Вложенный цикл, т.е. в два цикла. Задача очень простая.


-----
Март 2021. Бросил программирование
 
 Top
lastdays
Отправлено: 29 Ноября, 2015 - 15:25:04
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. $array = array(1,1,1,2,2,2,3,3);
  2. foreach ($array as $r)
  3. {
  4.   if ( !$pr[$r] )
  5.   {
  6.     $pr[$r] = $r;
  7.     echo $pr[$r]. ' <br /> ';
  8.   }
  9. }


Нужные проверки от ошибок пиши сам

(Отредактировано автором: 29 Ноября, 2015 - 15:26:21)

 
 Top
mstan
Отправлено: 30 Ноября, 2015 - 11:42:28
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2015  


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




lastdays пишет:
PHP:
скопировать код в буфер обмена
  1. $array = array(1,1,1,2,2,2,3,3);
  2. foreach ($array as $r)
  3. {
  4.   if ( !$pr[$r] )
  5.   {
  6.     $pr[$r] = $r;
  7.     echo $pr[$r]. ' <br /> ';
  8.   }
  9. }




Спасибо, не додумался использоваться значения как ключи в новом массиве.

(Отредактировано автором: 30 Ноября, 2015 - 11:43:01)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB