Php 在会话中存储html表单

Php 在会话中存储html表单,php,session,Php,Session,比方说,我有一个通过一些PHP代码生成的表单: function selop($options){ foreach($options as $value=>$text){ $option .= "<option value=".$value.">$text</option>"; } return "<select>$option</select>"; } $year = selop(range(

比方说,我有一个通过一些PHP代码生成的表单:

function selop($options){
    foreach($options as $value=>$text){
            $option .= "<option value=".$value.">$text</option>";
    }
    return "<select>$option</select>";
}
$year = selop(range(1,date("Y"))); //2014 now

这是个好主意吗?或者在这种情况下有更好的解决方案吗?

为什么不使用表单创建一个php文件,并在需要时包含它呢?“我有点担心性能”-您有什么建议表明这很慢吗?在我看来,它并不是一个特别累人的函数。您已经在$形式的变量中使用了它。。。为什么要复制值?PHP是一个野兽,可以轻松地运行更复杂的函数,不要将其存储在会话中而使自己过于复杂,因为这涉及较少的处理,可以在不使用会话的情况下使用。若你们把它存储在会话中,那个么当你们在站点中有更多的活跃用户时,这将是一个开销,因为它会消耗内存,它将循环一个超过2000个项目的数组。这仍然比会话存储好吗?谢谢大家。
function selop($options){
    if(!isset($_SESSION['form_year'])){
        foreach($options as $value=>$text){
            $option .= "<option value=".$value.">$text</option>";
        }
        $_SESSION['form_year'] = $option;
    }
    return "<select>".$_SESSION['form_year']."</select>";
}