返回一个select元素的PHP函数


php function that returns a select element

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