nobodynoone
@nobodynoone

Алгоритм перебор комбинаций блоками?

Добрый вечер.

Есть вот такой массив с данными (блоков внутри может быть очень много)

[
    [
        {'name': 'id1', 'value': 1991},
        {'name': 'id2', 'value': 1992},
        {'name': 'id3', 'value': 1993},
        {'name': 'id4', 'value': 1994}
    ],
    [
        {'name': 'id5', 'value': 1995},
        {'name': 'id6', 'value': 1996}
    ],
    [
        {'name': 'id7', 'value': 1997},
        {'name': 'id8', 'value': 1998},
        {'name': 'id9', 'value': 1999},
        {'name': 'id10', 'value': 19910},
        {'name': 'id11', 'value': 19911},
        {'name': 'id12', 'value': 19912}
    ]
}


И вот примерно то, что я хочу сделать. Т.е. фактически взять в цикле с каждого блока 1 элемент и объединить их..

for f in first:
    for s in second:
        for t in third: 
            print f, '.', s, '.', t


Подскажите алгоритм реализации данной задачи. Спасибо.
  • Вопрос задан
  • 2566 просмотров
Пригласить эксперта
Ответы на вопрос 2
donkaban
@donkaban
Умею рисовать тени
Вы, пожалуйста определите задачу. То есть входные данные понятны. На выходе то что? Комбинаторное объединение? Все перестанорвки?
Ответ написан
Комментировать
@miki131
$result = [];
foreach (array_values($array) as $block) {
    $result[] = array_rand($block);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы