以下代码是否执行相同的操作,如果是,编码时哪个更好?当PHP代码缺少大括号时,是否有一个名称?
PHP代码.
<?php if (isset($_POST['email'])) { echo $_POST['email']; }?>
<?php if (isset($_POST['email'])) echo $_POST['email'];?>
Run Code Online (Sandbox Code Playgroud)
个人而言,我总是写语句可以使用大括号使用大括号.例如,取代码:
if (UserIsLoggedIn())
ShowCreditCardDetails();
Run Code Online (Sandbox Code Playgroud)
现在,如果一些业余编码器出现并希望在用户登录时也执行其他操作:
if (UserIsLoggedIn())
WriteAuditLog();
ShowCreditCardDetails();
Run Code Online (Sandbox Code Playgroud)
现在,ShowCreditCardDetails()将为未登录的用户运行,因为只有if在没有花括号的情况下执行后的第一个语句.如果是这样的话:
if (UserIsLoggedIn())
{
ShowCreditCardDetails();
}
Run Code Online (Sandbox Code Playgroud)
这不会发生,因为花括号包含要执行的整个代码块.
我不相信这有一个名字,它只是一种简短的撰写if声明的方式.注意我也将花括号放在代码块和原始语句之外的自己的行上 - 它只是有助于提高可读性.