2011-03-09 187 views
3

使用數組填充一個選擇框。如果我有一個選擇框汽車在PHP

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

,我使用PHP有值的數組1-12

,我將如何自動填充該使用該數組選擇框?

回答

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

沒有單一的辦法做到這一點,但你可能會做這樣的事情:

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

其中getMyOptions()是一個函數調用來檢索選項(例如來自數據庫)並且以格式打印每一個

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

就個人而言,我te nd使用我稱爲printAsOptions()的通用函數。該函數接受一組對象。它期望數組中的對象有一個名爲「id」的字段和一個名爲「name」的字段。它遍歷數組併爲每個項目打印一個選項。這樣,您可以創建一個函數來獲取對象數組(例如,從數據庫中),而不會在表示邏輯中混合。表示邏輯由通用printAsOptions()函數處理。

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);