2016-08-03 8 views
4

このコードは私の望むところではうまくいきますが、if文の中括弧の中に何もしないのは大丈夫ですか?これを書くには良い方法がありますか?ifステートメントで空の中括弧は大丈夫ですか?

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

なぜ倒立型テストを使用しませんか?すなわち、if(!empty($ data)&& $ data!= "unanswered")) – tdk001

+1

読みやすい条件を使用します。空のブロック( '{}')を使わないように条件を反転させないでください。 – axiac

答えて

16

かわりに、否定を行うことができ

if(!empty($data) && $data != "unanswered"){ 
    echo $data; 
} 

DeMorganの法則はブール式を否定します。

2

これは、他のほとんどの言語PHPで合法であるとしていますが、これにif文を短くするブール法ドモルガンの法則を使用することができます:

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

条件文を逆にして、文が最初の中括弧で終わるようにしてください。中括弧の最初のセットにあるステートメントでは、2番目のセットを省略できます。

1

空の中括弧は有効です。しかし、ソフトウェアエンジニアリングの観点からは非常に悪い設計です。 DeMorganの法則をよく使う方がいいでしょう(前のコメントでこれを見ることができます)。他の開発者が理解できる高品質のコードを書く方法を学ぶことが良いでしょう。

0

あなたの質問に対する答えははいできます。私たちは時にはそこに置くべきものを思い付くかもしれないが、それは後の段階でしか想像していません。

多くの人は、あなたが条件を否定することができます示唆したが、それはすべてあなたが将来、コードを視覚化しないかに依存します。

1

これは一般的な問題です。空の括弧はかなり醜いですが、許可されています。効果的で読みやすい節を作成するには、!(節)を使用します。使用法:

関連する問題