【问题标题】:foreach loop doesn't populate select optionsforeach 循环不填充选择选项
【发布时间】:2017-09-18 23:26:50
【问题描述】:

我已经为此苦苦挣扎了至少一个小时,但无济于事。我确信答案很简单,但我无法弄清楚。 foreach 循环是我想要完成的,但它不起作用。 for 循环可以正常工作并且渲染良好。请帮忙! - 乔恩

<div class="td"><select name="vehYear">
    <?php
    foreach ($veh_year_array as $item)
    {?>
        <option value="<?php echo $item;?>"><?php echo $item;?></option>
    <?php}
    ?>

    <?php
    for ($i = date('Y'); $i > 1950; $i--) {
        echo "<option>$i</option>";
    }
    ?>
</select></div>

【问题讨论】:

  • 您确定$veh_year_array 已填充吗?也许尝试粘贴var_dump($veh_year_array)的输出?
  • @starnzd - 如果您正在编辑,可以重新格式化 OP 的代码(添加/删除换行符和缩进以使其更具可读性),但不能更改 原始代码(更改实际语法)。
  • @MagnusEriksson 欢呼,很高兴知道

标签: php html for-loop


【解决方案1】:

我测试了你的代码,你的错误似乎是大括号}。在我的环境中,我收到了一个

无效参数错误

粘贴原始代码时。你要非常小心 PHP,因为它是一种敏感的语言。

所以换这个

<?php}?>

到这里

<?php }?>

然后你的代码应该execute

<?php
$veh_year_array =array("Tomato", "Apple", "Orange");

  foreach ($veh_year_array as $item)
    {?>
        <option value="<?php echo $item;?>"><?php echo $item;?></option>
    <?php }?>

    <?php
    for ($i = date('Y'); $i > 1950; $i--) {
        echo "<option>$i</option>";
    }
    ?>

【讨论】:

  • @Baloon Fight。你完全正确。我不会想到这么小的事情会产生巨大的影响。 :-/ 干杯。乔纳森
  • 另外,你使用的是什么环境?我正在使用 intellij,并且没有抛出“无效参数”错误。
  • @StackBoy :我使用的是 Netbeans 最新版本。确保使用ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); 进行测试,这将捕获每个 PHP 错误。此外,如果您使用 Mysqli,请使用 mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 将这些代码片段放在每个 PHP 页面上。干杯
  • 好的,我将尝试合并您包含的函数以捕获 PHP 错误。
猜你喜欢
  • 1970-01-01
  • 2013-10-31
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
相关资源
最近更新 更多