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]   

> Без описания
fudeglan
Отправлено: 27 Мая, 2016 - 09:58:27
Post Id


Новичок


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


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




Нужно перебрать массив со значениями:
Допустим есть массив


на выходе должно получится
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. abc
  3. bac
  4. bca
  5.  
  6. bac
  7. abc
  8. acb
  9.  
  10. cab
  11. acb
  12. abc
  13.  
 
 Top
andrewkard
Отправлено: 27 Мая, 2016 - 11:06:22
Post Id


Участник


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


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




На форуме уже видел решение, вот еще
http://stackoverflow[dot]com/questio[dot][dot][dot]tations-in-a-set
http://forum.php.su/topic.php?fo...9&topic=5421
поищите
 
 Top
fudeglan
Отправлено: 27 Мая, 2016 - 12:28:57
Post Id


Новичок


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


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




andrewkard пишет:
На форуме уже видел решение, вот еще
http://stackoverflow[dot]com/questio[dot][dot][dot]tations-in-a-set
http://forum.php.su/topic.php?fo...9&topic=5421
поищите


Спасибо. То что нужно
(Добавление)
Код этот. Возможно кому не будь да пригодится
PHP:
скопировать код в буфер обмена
  1.  
  2. function permuteUnique($items, $perms = [], &$return = []) {
  3.     if (empty($items)) {
  4.         $return[] = $perms;
  5.     } else {
  6.         sort($items);
  7.         $prev = false;
  8.         for ($i = count($items) - 1; $i >= 0; --$i) {
  9.             $newitems = $items;
  10.             $tmp = array_splice($newitems, $i, 1)[0];
  11.             if ($tmp != $prev) {
  12.                 $prev = $tmp;
  13.                 $newperms = $perms;
  14.                 array_unshift($newperms, $tmp);
  15.                 permuteUnique($newitems, $newperms, $return);
  16.             }
  17.         }
  18.         return $return;
  19.     }
  20. }
  21.  
  22. $permutations = permuteUnique(array('a', 'b', 'c'));
  23.  
 
 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