【发布时间】:2011-07-12 02:41:55
【问题描述】:
如果我有一个选择框
<select><option>...<option></select>
我有一个 1-12 的值数组
使用 php,我将如何使用该数组自动填充该选择框?
【问题讨论】:
如果我有一个选择框
<select><option>...<option></select>
我有一个 1-12 的值数组
使用 php,我将如何使用该数组自动填充该选择框?
【问题讨论】:
假设数组看起来像:
$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>
【讨论】:
您可以制作自己的简单函数,如下所示:
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);
【讨论】:
没有单一的方法可以做到这一点,但你可以这样做:
<select>
<?=getMyOptions()?>
</select>
其中 getMyOptions() 是一个函数调用,它检索选项(例如从数据库中)并以格式打印每个选项
<option value="x">XXX</option>
就个人而言,我倾向于使用我称之为 printAsOptions() 的通用函数。这个函数接受一个对象数组。它期望数组中的对象有一个名为“id”的字段和一个名为“name”的字段。它遍历数组并为每个项目打印一个如上所述的选项。这样,您可以创建一个函数来获取对象数组(例如从数据库中),而无需混合表示逻辑。表示逻辑由通用 printAsOptions() 函数处理。
【讨论】: