2 回答
TA贡献1796条经验 获得超7个赞
您没有在第 2 行的条件中括号“)”
if(isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['PNumber']) && isset($_POST['PostC']) )
TA贡献1828条经验 获得超6个赞
正如这里的许多人所说,您的括号似乎有问题。当你写出有很多条件的 if 语句时,你应该首先问自己这是否是最好的设置(根据我的经验,如果经常指向错误,或者可以很容易地简化,则相同的很多条件)。如果不是这种情况(有时你真的必须把它搞定并写出所有的条件)你应该把它分开,这样更容易阅读,更容易看到括号“平衡”的位置,更容易调试。我会这样写你的陈述:
if(//opening bracket
isset($_POST['Name'])
&& isset($_POST['Email'])
&& isset($_POST['PNumber'])
&& isset($_POST['PostC']) )//extra incorrect bracket which is now easy to spot
)//closing bracket - in line with the opening bracket {
//do some stuff
}
如果您有更复杂的条件,这将进一步帮助您,例如:
if(
(//first set of conditions
isset(condition_1)
&& isset(condition_2)
) &&
(//second set of conditions
isset(condition_3)
|| isset(condition_4)
)
)
通过这样做,您可以轻松查看您的条件平衡的位置(即打开匹配关闭)。请记住,您不会因为在一行中获得所有条件而赢得任何奖品,并且代码行数更少并不等于代码更高效,正如您的示例所展示的那样。
还值得注意的是,你不需要isset每次都写,isset你可以说isset($var1,$var2,$var3),这和写你所有的一样&& issset。
我希望这对您以后的编码有帮助,并能帮助您更快地进行调试
- 2 回答
- 0 关注
- 121 浏览
添加回答
举报