За последние 24 часа нас посетили 52388 программистов и 1797 роботов. Сейчас ищут 844 программиста ...

Создание всех возможных вариаций данных из массивов

Тема в разделе "PHP для новичков", создана пользователем Yankovitz, 12 фев 2019.

  1. Yankovitz

    Yankovitz Активный пользователь

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Добрый день. Есть 1-5 индексных массивов (количество заранее неизвестно). В каждом массиве данные тоже с заранее неизвестным количеством. Условно так:
    PHP:
    1. array( 'красный', 'синий' );
    2. array( 'S', 'M', 'L' );
    Как получить все вариации из сочетания всех массивов?
    В конкретно этом случае должно получиться на выходе:
    Код (Text):
    1. красный S
    2. красный M
    3. красный L
    4. синий S
    5. синий M
    6. синий L
    При этом сочетания из элементов одного массива не могут существовать. То есть, например "красный-синий" или "M-L" - запрещено.
    Заранее спасибо
     
  2. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    PHP:
    1. $a = array( 'красный', 'синий' );
    2. $b = array( 'S', 'M', 'L' );
    3. foreach ($a as $value) {
    4.   foreach ($b as $val) {
    5.         echo  $value.'  '.$val.'<br>';
    6.    }
    7. }
     
  3. Yankovitz

    Yankovitz Активный пользователь

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Спасибо, но я заранее не знаю, сколько будет массивов может 1, а может 4 или 5.
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Yankovitz, когда заранее неизвестно количество итераций применяется цикл do{}while() или рекурсия.
    Но если массивы - это результат выборки из БД, то вы на ложном пути.