2017-06-04 36 views
1

我從一個數組創建使用PHP一個簡單的HTML選擇菜單如下之外:PHP - HTML選擇菜單 - 包括增值陣列

$output = ''; 

foreach($symptoms as $symptom) { 

    $symptom = htmlspecialchars($symptom); 
    if ($symptom == $record->getField('PatientSymptom')) { 
     $output = "<option value='".$symptom."' selected='selected' >$symptom</option>"; 
    } else { 
     $output = "<option value='".$symptom."'>$symptom</option>"; 
    } 
    echo $output; 
} 

這成功地創建一個從$symptoms數組的HTML選擇菜單,但存儲在我正在顯示的輸入字段中的原始值可能不是$symptoms陣列的一部分。在這種情況下,我需要將它添加到選擇菜單中,但不確定最好的方法來解決這個問題。

我在一個變量存儲原始值:$patientSymptom

什麼檢查的最佳方式,如果$patientSymptom不是$symptoms數組中,並添加到選擇菜單我創建?

回答

0

使用in_array()功能:

in_array - 檢查數組中的


檢查元素數組存在循環前右存在的價值和必要時添加它:

$output = ''; 
if (!in_array($patientSymptom, $symptoms)) { 
    $symptoms[] = $patientSymptom; // add symptom to end of the array 
} 
foreach($symptoms as $symptom) { 
// ...