уменьшить значение цикла - PullRequest
0 голосов
/ 28 октября 2011

У меня есть этот код, но я хочу во втором цикле уменьшить значение $ p. Первый внутренний цикл должен повторяться три раза, второй - два раза, а последний - один раз. Я пытаюсь $ p--, но безуспешно.

Есть идеи? спасибо

$p = 3;
for ($i = 0; $i < 3; $i++) {
     for ($o = 0; $o < $p; $o++) {
          echo "something";
          $p--;
     }
}

Ответы [ 3 ]

3 голосов
/ 28 октября 2011

Переместите $p-- внутрь внутреннего цикла for:

$p = 3;
for ($i = 0; $i < 3; $i++) {
     for ($o = 0; $o < $p; $o++) {
          echo "something";
     }
     $p--;
}

Или лучше, просто зависит от значения $i:

for ($i = 0; $i < 3; $i++) {
     for ($o = 0; $o < 3 - $i; $o++) {
          echo "something";
     }
}

Или, если вы на самом деле не используете $i:

for ($i = 2; $i >= 0; $i--) {
     for ($o = 0; $o < $i; $o++) {
          echo "something";
     }
}
2 голосов
/ 28 октября 2011

Все довольно просто.

for ($i = 2; $i >= 0; $i--) 
{
}

Установите начальный номер в верхнем предельном числе, а затем уменьшайте до тех пор, пока не станет равным 0, $ i минус 1;

1 голос
/ 28 октября 2011

Вам нужно уменьшить $ p вне первого цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...