使用php为选择框创建选项

Chr*_*ris 0 html php

我想创建一个<select>仅包含数字,1、2、3等的非常简单的框。所以我非常想

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
</select>
Run Code Online (Sandbox Code Playgroud)

但是,我想使用PHP生成选项,而不是手动创建所有选项。

我该怎么做呢?

Squ*_*Cat 5

您可以使用此:

<select>

<?php

    define('MAX_OPTIONS', 6);

    for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){
        echo '<option>' . $optionIndex . '</option>';
    }

?>

</select>
Run Code Online (Sandbox Code Playgroud)

请注意,for的open和close标记<select>是直接输出,不是PHP代码,因此是PHP标记。

您也可以只通过PHP将其全部打印出来:

<?php

    define('MAX_OPTIONS', 6);

    echo '<select>';
    for($optionIndex=1; $optionIndex <= MAX_OPTIONS; $optionIndex++){
        echo '<option>' . $optionIndex . '</option>';
    }
    echo '</select>';

?>
Run Code Online (Sandbox Code Playgroud)

暗示

最后,只需朝着更加结构化的编程迈出一小步,就可以创建一个函数:

<?php

    function createSelectBox($optionCount){
        $out = '<select>';
        for($idx=1; $idx <= $optionCount; $idx++){
            $out .= '<option>' . $idx . '</option>';
        }
        $out .= '</select>';
        return $out;
    }

?>
Run Code Online (Sandbox Code Playgroud)

然后从PHP(!!)内部调用它,如下所示:

<?php

    echo createSelectBox(6);

?>
Run Code Online (Sandbox Code Playgroud)

由于您生成的HTML代码看起来不错并且可以正常运行,因此它将无法用于任何实际目的,因为如果没有为<option>标签提供value属性(该属性应包含代表该选项的值),则选择框将无法工作。

如果需要,请阅读此书以更好地了解其select工作原理