2013-05-05 44 views
0
<?php 
    $i = 0; 
    while($i<=10){ 
     echo '<label for=""></label><select name="comp'. $i++ .'></select><br>'; 
} 
?> 

我使用此代碼在html頁面上添加10個選擇框,但是隻有5個選擇框出現,不知道爲什麼?PHP循環的怪異行爲

是否有任何解釋,或者我的PHP只是喝醉了.....

+0

你看過生成的HTML嗎? – JJJ 2013-05-05 05:38:57

+1

是的,你喝醉了:P是無效的HTML,因爲'''而不是PHP – 2013-05-05 05:40:21

回答

5
echo '<label for=""></label><select name="comp'. $i++ .'"></select><br>'; 

我認爲你缺少一個雙qoutes

'"></select><br>'; 
^ 
1

在這裏你錯過了雙配額:

<select name="comp'. $i++ .'> 
          ^------ 

它應該是:

<select name="comp'. $i++ .'"> 
1

你的循環很好,代碼應該運行10次,但是你在$ i ++之後的回顯行中缺少一個雙引號。

應該讀的東西,如:

echo '<label for=""></label><select name="comp'. $i++ .'"></select><br>'; 

這就是說,你可能會更好一點關閉清晰度換掉while循環使用爲:

<?php 
    for($i = 0; $i < 10; $i++){ 
     echo '<label for=""></label><select name="comp'. $i .'"></select><br>'; 
    } 
?> 
0

下面的代碼工作所需:

<?php 
$i = 0; 
while($i<=10){ 
    echo '<label for=""></label>'; 
    echo '<select name="comp'. $i++ .'"></select>'; 
    echo '<br>'; 
} 
?> 

您錯過了第二個echo語句中$ i ++之後的'''