这是我的代码:
<?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。为什么它不起作用?感谢
对不起,我已经在选择声明
中有了这个编辑:请参阅上面的代码编辑。也许是因为
答案 0 :(得分:1)
您需要将代码包装在选择语句中!
如果没有围绕选择标记,则选项声明无效:
<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>
答案 1 :(得分:0)
编辑后,看起来这是您的主要问题:
$date = 2015-02-30;
这不是你的想法。它应该这样引用:
$date = '2015-02-30';
否则,$date
不是字符串,它是一个评估为(int) 1983
的数学表达式,因此substr($date, 8, 2);
将评估为false
,而不是30
,显然你的选择不会被选中。