SELECT 上的 UNDEFINED VARIABLE ERROR on codeigneter 有没有更好的方法来做到这一点?

UNDEFINED VARIABLE ERROR on SELECT on codeigneter is there any better way to do this?

如果 $personal_info['reg_civil_status'] 和 $_POST['reg_civil_status'] 为空,是否有更好的方法来避免错误?因为我有一个“未定义的变量错误”

不好意思,我还是初级程序员,刚接触PHP。无论如何谢谢你。

                    <b>Civil Status: </b>
                    <select class="controler-1" name="reg_civil_status">
                        <?php 
                            foreach($civil_status_opt as $civil_status_opt){
                                if($personal_info['reg_civil_status'] == $civil_status_opt || $_POST['reg_civil_status'] == $civil_status_opt) {
                                    echo "<option selected='selected' value='$civil_status_opt'>$civil_status_opt</option>";
                                }
                                else {
                                    echo "<option value='$civil_status_opt'>$civil_status_opt</option>";
                                }
                            }
                        ?>
                    </select>

您需要将 isset 与三元运算符一起使用以避免错误

<b>Civil Status: </b>
<select class="controler-1" name="reg_civil_status">
    <?php 
        $reg_civil_status = isset($personal_info['reg_civil_status']) ? $personal_info['reg_civil_status'] : "";
        $posted_reg_civil_status = isset($_POST['reg_civil_status']) ? $_POST['reg_civil_status'] : "";

        foreach($civil_status_opt as $civil_status_opt){
            if($reg_civil_status == $civil_status_opt || $posted_reg_civil_status == $civil_status_opt) {
                echo "<option selected='selected' value='$civil_status_opt'>$civil_status_opt</option>";
            }
            else {
                echo "<option value='$civil_status_opt'>$civil_status_opt</option>";
            }
        }
    ?>
</select>