public static function select($name, $options_array, $key_as_value=true, $selected="!NO!")
{
$html = "<select name='$name'>'n";
foreach($options_array as $key => $val)
{
$option_value = ($key_as_value) ? $key : $val;
$option_display = $val;
$selected = ($selected != "!NO!" && $selected == $option_value) ? " SELECTED" : "";
$option = "<option value='$option_value'$selected>$option_display</option>'n";
$html .= $option;
}
$html .= "</select>'n";
return $html;
}
这是我的PHP代码,生成一个SELECT元素,如果你传递$selected,它将有所需的选项被选中。问题是,将默认值设置为"!"不"看起来很丑。但是我也不能把它设为FALSE,因为FALSE是0的同义词,如果有一个值为"0"的选项,它将不会像预期的那样工作。
有什么建议吗?
只要使用三重相等运算符===
,就可以使用FALSE
。以下是一些很好的链接:
-
PHP相等(==双等号)和恒等(==三重等号)比较操作符有什么不同?
http://php.net/manual/en/language.operators.comparison.php