Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在codeigneter上选择时出现未定义变量错误有更好的方法吗?_Php_Html_Codeigniter_Web_Select - Fatal编程技术网

Php 在codeigneter上选择时出现未定义变量错误有更好的方法吗?

Php 在codeigneter上选择时出现未定义变量错误有更好的方法吗?,php,html,codeigniter,web,select,Php,Html,Codeigniter,Web,Select,如果$personal_info['reg_civil_status']和$u POST['reg_civil_status']为空,有没有更好的方法在不出错的情况下执行此操作?因为我有一个“未定义变量错误” 很抱歉,我还是一名初级程序员,我是PHP新手。无论如何,谢谢你。 <b>Civil Status: </b> <select class="controler-1&quo

如果$personal_info['reg_civil_status']和$u 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>
公民身份:

设置
!空的
在询问类似的问题之前,请做一些研究。我做了,但我似乎找不到类似的问题。谢谢你顺便说一句:)你的字典里有语法错误(你用
=
而不是
)。谢谢你,这真的帮助了我。我是php新手(对不起:)