Рекурсия: количество циклов

программирование php C++ perl рекурсия

Необходимо написать код (допустим на PHP, но это не важно - важен принцип), в котором количество вложенных циклов определяется пременной.
Например, для переменной $Number_of_cycle = 3;
for ($i_u1 = 0; $i_u1<=$nSlots; $i_u1++){
for ($i_u2 = 0; $i_u2<=$nSlots; $i_u2++){
for ($i_u3 = 0; $i_u3<=$nSlots; $i_u3++){
do_somthing($i_u1,$i_u2,$i_u3);
}
}
}
А для переменной $Number_of_cycle = 5;
for ($i_u1 = 0; $i_u1<=$nSlots; $i_u1++){
for ($i_u2 = 0; $i_u2<=$nSlots; $i_u2++){
for ($i_u3 = 0; $i_u3<=$nSlots; $i_u3++){
for ($i_u4 = 0; $i_u4<=$nSlots; $i_u4++){
for ($i_u5 = 0; $i_u5<=$nSlots; $i_u5++){
do_somthing($i_u1,$i_u2,$i_u3,$i_u4,$i_u5);
}
}
}
}
}
Я так понимаю, это решается с помощью рекурсии, но могу допереть как.
Пока что решаю с помощью генерации строковой переменной и исполнения ее в eval.


Примечание:
2 XazzzI: уже вторую неделю над этим бьюсь, был бы очень признателен небольшому примеру.

Примечание:
2 Epsiloncool (Epsilon S): надо подумать...
Ответы:
В функции (допустим foo) получаете аргумент- оставшуюся глубину рекурсии и если он больше 0 - вызываете функцию саму из себя.
$a - это массив с определённым количеством вложенностей


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.