2013-09-22 75 views
-2

剛開始學習。下面是我有:簡單的PHP for循環錯誤

<?php 
$i = 0; 
$num = $i * 12; 

for ($i=0; $i<13; $i++) { 

echo($i." times 12 = ".$num."<br>"); 
} 

?> 

結果應該是:

1 times 12 = 12 

2 times 12 = 24 

3 times 12 = 36 

等等

我實際得到的結果是:

1 times 12 = 0 

2 times 12 = 0 

3 times 12 = 0 

任何想法?

回答

3

這是因爲你有在此之前聲明循環:

$i = 0; $num = $i * 12; 

所以總是$num0。只要將它變成

for ($i=1; $i<13; $i++) { 
    $num = $i*12; 
    echo($i." times 12 = ".$num."<br>"); 
} 

你不需要之前申報$ I變量循環。這個變量將被覆蓋。有簡單的測試:

$i = 5; 
for($i = 1; $i<10; $i++); 

echo $i; 

輸出

10 
+0

所以它基本上是範圍問題**?** for循環中的外部''i'和'i'是不同的**?**是這樣嗎? –

+0

For語句在開始時聲明$ i變量。它將覆蓋以前的變量$ i。 –

0
<?php 
$i = 1; $num = 1; 

for ($i=1; $i<13; $i++) { 
$num = $i * 12; 

echo($i." times 12 = ".$num."<br>"); 
} 

?> 
1

如果您想要的結果,你應該把計算for循環內,並且開始i 1種

<?php 
for ($i=1; $i<13; $i++) { 
    $num = $i * 12; 
    echo($i." times 12 = ".$num."<br>"); 
    } 

?> 
0

東西像這樣

<?php 
$num = 12; 

for ($i=1; $i<13; $i++) { 

    echo("$i times 12 = ".$num*$i); 
    echo "<br>"; 
} 

?> 
0
<?php 
for ($i=0; $i<13; $i++) { 

    echo($i." times 12 = ".$i*12."<br>"); 
    } 

?> 
0

$num = $i * 12;轉變成環

<?php 
$i = 0; 

for ($i=0; $i<13; $i++) { 

    $num = $i * 12; 

    echo($i." times 12 = ".$num."<br>"); 

} 

?> 
0

$ NUM變量永遠只能在加$ 時,其0,嘗試把它在爲這樣的循環。

$i = 0; 


for ($i=0; $i<13; $i++) { 
    $num = $i * 12; 
    echo($i." times 12 = ".$num."<br>"); 
    }