【问题标题】:Echo in for loop在 for 循环中回显
【发布时间】:2017-07-07 12:31:19
【问题描述】:

这是我的代码:

<?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 语句中包含了这个

编辑:参见上面的代码编辑。可能是因为

【问题讨论】:

  • 据我所知,它看起来确实有效。
  • 您是否已将此代码包装在选择标签中?
  • 它对我有用。我刚刚粘贴了您的代码并尝试运行,它工作正常。
  • 你运行这个有http://localhostfile:///?或托管?我的想法更像file:///。告诉我们,HTML 源代码揭示了什么? 蜘蛛侠的感觉在这里也很刺痛。
  • @baileyJchoi 请回答 Fred -ii- 的评论:stackoverflow.com/questions/42307112/…

标签: php html loops for-loop


【解决方案1】:

您需要将代码包装在 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>

【讨论】:

  • 查看该人的编辑。我知道他们有 &lt;select&gt;&lt;/select&gt; - (蜘蛛侠告诉我)。
  • 有鬼!感觉坏人。你的感觉很灵敏。
  • @ChadFisher 我注意到这里的反对票乍得,我可以诚实地说那不是我的,你不应该得到它,因为 OP 从一开始就提出了完全不清楚的问题,并且在事实”。
  • @Fred-ii- 谢谢家人。我会接受我能得到的一切,爱与恨。给我 dem 减分。
  • @ChadFisher 你的精神很好 ;-) 这是一件“好事”。好吧,我现在已经离开了这个问题,希望能有好的结果 lol 祝你一切顺利。 干杯,不客气。
【解决方案2】:

在您编辑之后,看起来这是您的主要问题:

$date = 2015-02-30;

这不是你想的那样。应该这样引用:

$date = '2015-02-30';

否则,$date 不是字符串,它是一个计算结果为 (int) 1983 的数学表达式,因此 substr($date, 8, 2); 将计算结果为 false,而不是 30,那么显然你的选项不会是已选中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2017-10-13
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多