使用PHP中的数组自动填充选择框

时间:2011-03-09 17:36:34

标签: php html select

如果我有一个选择框

<select><option>...<option></select>

我有一个1-12的值数组

使用php,如何使用该数组自动填充该选择框?

3 个答案:

答案 0 :(得分:6)

假设数组看起来像:

$array = array(
  1=>"My first option",
  2=> "My second option"
);

<select>
  <?php foreach($array as $key => $value) { ?>
    <option value="<?php echo $key ?>"><?php echo $value ?></option>
  <?php }?>
</select>

答案 1 :(得分:1)

您可以按照以下方式制作自己的简单功能:

function generateSelectFromArray($array){
  // echo your opening Select
  echo "<select>";
  // Use simple foreach to generate the options
  foreach($array as $key => $value) {
    echo "<option value=' $key '> $value </option>";
   }
   echo "</select>";
}

用法:

$array = array(
 1=>"My first option",
 2=> "My second option"
);

generateSelectFromArray($array);

答案 2 :(得分:-1)

没有单一的方法可以做到,但你可能会这样做:

<select>
<?=getMyOptions()?>
</select>

其中getMyOptions()是一个函数调用,用于检索选项(例如,从数据库中)并以格式打印每个选项

<option value="x">XXX</option>

就个人而言,我倾向于使用我称之为printAsOptions()的泛型函数。此函数接受一组对象。它期望数组中的对象具有名为“id”的字段和名为“name”的字段。它遍历数组并为每个项目打印如上所示的选项。这样,您可以创建一个函数来获取对象数组(例如,从数据库中获取),而无需混合使用表示逻辑。表示逻辑由通用printAsOptions()函数处理。