Php 回音为循环
这是我的代码:Php 回音为循环,php,html,loops,for-loop,Php,Html,Loops,For Loop,这是我的代码: <?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 i
<?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语句中包含了此内容
编辑:参见上面的代码编辑。可能是因为您需要将代码包装在select语句中 如果选项语句周围没有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,然后显然您的选项将不会被选中。据我所知,它看起来确实有效。您是否已将此代码包装在select标记中?它对我有效。我刚刚粘贴了你的代码并尝试运行,效果很好http://localhost 或文件://?还是主持?我的想法更像是file:///. 告诉我们,HTML源代码揭示了什么?蜘蛛的感觉在这里也很刺痛。@baileyJchoi请回答Fred-ii-的评论:看这家伙的编辑。我知道他们有蜘蛛侠的感觉告诉我的。被鬼捉住了!感觉坏蛋。“你是蜘蛛侠”的感觉很正确。@ChadFisher我注意到了这里的落选,Chad,我可以诚实地说,这不是我的,你不应该得到它,因为OP从一开始就完全不清楚问题,而且事后编辑太多。@Fred ii-谢谢fam。我会接受我能得到的一切,爱和恨。给我减分。@ChadFisher你精神很好;-这是件好事。好了,我现在已经离开了这个问题,希望好的lol祝你一切顺利。干杯,不客气。