2012-04-02 3 views
1

Я пытаюсь получить этот кусок сценария для работы, но он продолжает умиратьв то время как цикл с количеством дней в месяце

$currentdays = intval(date("t")); 

echo $currentdays; //echoes 30 as we're in April 
$i = 1; 
while ($i <= $currentdays){ 
    echo $day; 
} 

Он продолжает умирать без ошибок. Я чувствую, что это время, но это, безусловно, занимает свое время.

+0

Я всегда предпочитаю циклы 'for' из-за этого: P – hjpotter92

ответ

9

Необходимо навести обороты $i. 1 всегда будет меньше 30, создавая бесконечный цикл.

$currentdays = intval(date("t")); 
$i = 0; 

while ($i++ < $currentdays){ 
    echo $i; // outputs 1, 2, 3.. 30 
} 
+2

Также - не знаете, откуда пришел день $, echo $ i? - Согласитесь с вашим ответом. – mikevoermans

+0

$ day был артефактом: P – bear

5

$i не меняется. Попробуйте следующее:

$currentdays = intval(date("t")); 

echo $currentdays; //echoes 30 as we're in April 
$i = 1; 
while ($i++ < $currentdays){ 
    echo $i; 
} 
3

Вы никогда не увеличиваете $ i после эха за день. Это перейдет в бесконечный цикл.

Смежные вопросы