回声循环



这是我的代码:

<?php
$date = 2015-02-30;
$year = substr($date, 0, 4);
$month = substr($date, 5, 2);
$day = substr($date, 8, 2);
?>
<select>
<?php
for ($i=1; $i < 31; $i++) { ?>
    <option value="<?php echo $i; ?>" <?php if($day === $i){ echo "selected"; }; ?>><?php echo $i; ?></option>
<?php } ?>
</select>

对于该选项,应选择数字4。为什么不起作用?谢谢

对不起,我已经在Select语句中

编辑:请参阅上面的代码编辑。也许是因为

您需要将代码包装在>选择语句!

一个选项语句不会在没有>选择标签的情况下工作:

<html>
<body>
<select>  <!-- Start the select statement -->
<!-- Your Code -->
<?php
$num = 4;
for ($i=1; $i < 10; $i++)
{
    ?>
    <option value="<?php echo $i; ?>" <?php if($num === $i){ echo "selected"; }; ?>><?php echo $i; ?></option>
    <?php
}
?>
<!-- End your code -->
</select> <!-- End the select statement -->
</body>
</html>

您的编辑后,这似乎是您的主要问题:

$date = 2015-02-30;

这不是您认为的。应该这样引用:

$date = '2015-02-30';

否则,$date不是字符串,它是对(int) 1983评估的数学表达式,因此substr($date, 8, 2);将评估为false而不是30,然后显然您的选项将不会选择。

最新更新