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

また、$ dayがどこから来たのかわからないのですか? - あなたの答えに同意します。 – 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

$ 1をエコーし​​た後に$ iを増やすことはありません。これは無限ループに入ります。