2014-09-05 71 views
-1

我想在echo中放一個for循環,但我不能這樣做嗎?在echo聲明中放置一個for循環

<?php 
$limite_may=2014; 
$limite_inf=1914; 
echo" 
    <select name='anio_a1' class='select' id='anio_a1'> 
    <option selected='selected' value='--'>year</option>". 
     for($i=$limite_may; $i>$limite_inf; $i--){ 
     echo $i; 
     }.   
     "</select>"; 
?> 
+0

你不需要echo中的for循環。將回聲分成兩部分,然後將回路放在中間的所需位置。 – Jon 2014-09-05 19:00:51

+0

喬恩是對的。只需用分號替換第一個句號,並用「echo」代替第二個句號 – 2014-09-05 19:01:43

+0

令人敬畏的工程! – 2014-09-05 19:06:18

回答

0

你想要echo在for循環裏面,不要在echo中放一個for循環。儘管如此,我們還是會將每個項目作爲<option>$i的值進行回顯。

... 
echo "<select name='anio_a1' class='select' id='anio_a1'>"; 
for($i = $limite_may; $i>$limite_inf; $i--) { 
    echo "<option value=".$i.">".$i."</option>"; 
} 
?> 
echo "</select>"; 
... 
0
<?php 
$limite_may=2014; 
$limite_inf=1914; 
echo "<select name='anio_a1' class='select' id='anio_a1'>"; 
for($i=$limite_may; $i>$limite_inf; $i--){ 
    echo "<option value='--'>".$i."</option>"; 
} 
echo "</select>"; 
?> 
0

從你的PHP代碼塊中刪除您的HTML完全,像這樣:

<?php 
    $limite_may=2014; 
    $limite_inf=1914; 
?> 
<select name='anio_a1' class='select' id='anio_a1'> 
<?php 

    for($i=$limite_may; $i>$limite_inf; $i--){ 
     ?> 
     <option value='<?php echo $i; ?>'><?php echo $i; ?></option> 
     <?php 
} 
?> 
</select> 

如果您選擇的值存儲在一個名爲$selected(例如)變量,你可以使用它像此(HTML5):

<option<?php echo $i==$selected ? ' selected' : ''; ?> value='<?php echo $i; ?>'><?php echo $i; ?></option> 

或類似這樣的(XHTML):

<option<?php echo $i==$selected ? ' selected="selected"' : ''; ?> value='<?php echo $i; ?>'><?php echo $i; ?></option>