2013-05-05 93 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 ++之后的'''