是空的大括号,if语句好吗?

时间:2016-08-03 18:21:59

标签: php if-statement

此代码适用于我想要的内容,但我想知道在if语句的大括号内是否可以做任何事情。有没有更好的方法来写这个?

if(empty($data) || $data == "unanswered")) {
//do nothing
} else {
    //display data
    echo $data;
}

6 个答案:

答案 0 :(得分:16)

你可以改为否定:

if(!empty($data) && $data != 'unanswered')
    echo $data;

答案 1 :(得分:2)

这在PHP和大多数其他语言中都是合法的,但您可以使用布尔律法DeMorgan的法律来缩短if语句:

if(!empty($data) && $data != "unanswered"){
    echo $data;
}
德摩根定律只是否定了布尔表达式。

答案 2 :(得分:1)

有空花括号是有效的。但是,从软件工程的角度来看,它的设计非常糟糕。你最好使用DeMorgan的法律(你可以在之前的评论中看到这一点)。最好开始学习如何编写其他开发人员可以理解的高质量代码。

答案 3 :(得分:1)

这是一个常见问题。空括号非常难看,但是允许。要创建有效且可读的子句,请使用!(子句)。用法:

if( ! ( empty($data) || $data == "unanswered" ) )  {
    // do something
}

答案 4 :(得分:0)

您应该尝试撤消条件,以便您的语句最终出现在第一组花括号中。使用第一组花括号中的语句,可以省略第二组。

答案 5 :(得分:0)

您的问题的答案是肯定的,您可以这样做。我们有时候会想到我们可能会想出一些东西放在那里,但只是在后期才会这样做。

许多人建议你可以否定这个条件,但这一切都取决于你如何看待未来的代码。