Я не уверен, что это то, что вам нужно.
function renderDropDown($name, $opts, $valueIsKey=true){
$out = array();
$out[] = '<select name="'.$name.'">';
$out[] = '<option value="0">'.ucfirst($name).'</option>';
foreach($opts as $key => $val){
if($valueIsKey){
$out[] = '<option value="'.$key.'">'.$val.'</option>';
} else {
$out[] = '<option value="'.$val.'">'.$val.'</option>';
}
}
$out[] = '</select>';
return implode("\n", $out);
}
Это просто, но у вас будет множественное число s
в конце каждого имени.Возможно, вы захотите добавить аргумент $title
к функции, чтобы он стал:
function renderDropDown($name, $opts, $title, $valueIsKey=true){
[...]
$out[] = '<option value="0">'.$title.'</option>';
[...]
}
Вы можете вызвать эту функцию с чем-то вроде:
renderDropDown('days', range(1,31), "Day", false);
Редактировать: возможно, вы захотите взглянуть на это .
Надеюсь, что это поможет.
- Альберто