【问题标题】:php select options in different stepsphp在不同步骤中选择选项
【发布时间】:2016-01-27 09:39:45
【问题描述】:

非常基本的问题:我目前在表单中的选择框有以下(数组?),但我需要更改下拉菜单中出现的数字跳转/步骤。目前它是 100 的倍数,从 300-1500 但我需要 100 到 1000 的倍数,然后是 1250 和 1500

for($i = 300; $i <= 1500; $i += 100)

【问题讨论】:

  • 不够清楚。你需要用不同的值增加它吗?价值观是什么?顺序是什么?
  • $i &lt;= 1500改为$i &lt;= 1000,通过foreach获取$options数组中的所有值。最后,将 1250 和 1500 追加到数组中。

标签: php forms select option


【解决方案1】:

您是否尝试过使用函数 range() ? 您可以配置开始、结束和步骤。

http://php.net/manual/en/function.range.php

【讨论】:

  • 范围有一个固定的增量,不是吗?
  • 步长表示固定增量,但您可以使用range()作为第一步/增量循环的一部分,然后再次调用range()以不同的开始和结束和步继续随心所欲地循环。
  • 当然,但经过一番阅读,我认为即使这样也是可能的:$inc = 100; foreach (range(300, 1500, $inc) as $number) { echo $number; if ($number >= 1000){$inc = 250} }
  • 没错,这是另一种看起来更适合您的场景的方法。
【解决方案2】:

只需使用 for 循环添加从 100 到 1000 的选项,然后再添加其他两个选项。

<select>
    <?php
        for($i = 100; $i <= 1000; $i+=100)
        {
            echo "<option>" . $i . "</option>";
        }
    ?>
    <option>1250</option>
    <option>1500</option>
</select>

【讨论】:

    【解决方案3】:
    $step = 100;
    for($i = 300; $i <= 1500; $i += $step){
    if ($i >= 1000) {$step = 250}...
    

    $inc = 100; 
    foreach (range(300, 1500, $inc) as $number) 
    { 
    echo "<Option>".$number."</Option>"; 
    if  ($number >= 1000){$inc = 250} 
    }
    

    但我不能 100% 确定第二个是否有效

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2021-12-18
      • 2023-03-19
      相关资源
      最近更新 更多