0

我尝试使用类似的代码在 php 中使用 for 循环和 heredoc:

 $options = ''; 

for($Year = date("Y"); $Year <= date("Y") + 5; $Year++) 
{ $options .= "<option>$Year</option>\n"; } 

$Select = <<<QQxQQ 
<select> 
$options 
</select> 
QQxQQ; 


print "$Select";  

但没有运气...

编辑 这些例子很棒,谢谢大家。这就是我要迭代的

<li><a href="#"><span>$looped</span></a></li>

其中$looped是获取的 mysql 列的值。正如您可能看到的,我正在尝试迭代列表中的元素 x 次(其中 x = sql 查询的行数)。

我想尝试将结果放入一个数组中,然后在数组中循环,但是我仍然无法让 HTML 代码相应地通过解析器而不被视为字符串。

4

4 回答 4

4

这个怎么样?

<select>
<?php
    for($Year = date("Y"); $Year <= date("Y") + 5; $Year++) {
        echo "<option>".$Year."</option>";
    }
?>
</select>
于 2013-04-27T10:39:12.480 回答
0

你可以尝试这样的事情:

<?php

$year = date('Y');
$end = ($year + 5);
do {
    $option .= '<option>'.$year.'</option>';
} while (++$year <= $end);

echo '<select>'.$option.'</select>';

?>
于 2013-04-27T10:41:40.580 回答
0

Heredocs 有自己的位置,但在 imo 他们被高估并且经常在错误的上下文中使用。

尝试这个:

$year = date("Y");
for( $Year = $year; $Year <= ($year+5); $Year++ ) { 
    $options .= "<option value=\"$Year\">$Year</option>\n"; 
}

echo "<select name='years' id='years'>";
echo $options;
echo "</select>";
于 2013-04-27T10:42:00.117 回答
0
<select>
<?php
for($Year = date("Y"); $Year <= date("Y") + 5; $Year++) 
{ echo "<option>$Year</option>\n"; } 
?>
</select> 
于 2013-04-27T10:49:32.603 回答