このコードは私の望むところではうまくいきますが、if文の中括弧の中に何もしないのは大丈夫ですか?これを書くには良い方法がありますか?ifステートメントで空の中括弧は大丈夫ですか?
if(!empty($data) && $data != 'unanswered')
echo $data;
このコードは私の望むところではうまくいきますが、if文の中括弧の中に何もしないのは大丈夫ですか?これを書くには良い方法がありますか?ifステートメントで空の中括弧は大丈夫ですか?
if(!empty($data) && $data != 'unanswered')
echo $data;
かわりに、否定を行うことができ
if(!empty($data) && $data != "unanswered"){
echo $data;
}
DeMorganの法則はブール式を否定します。
これは、他のほとんどの言語PHPで合法であるとしていますが、これにif文を短くするブール法ドモルガンの法則を使用することができます:
if(empty($data) || $data == "unanswered")) {
//do nothing
} else {
//display data
echo $data;
}
条件文を逆にして、文が最初の中括弧で終わるようにしてください。中括弧の最初のセットにあるステートメントでは、2番目のセットを省略できます。
空の中括弧は有効です。しかし、ソフトウェアエンジニアリングの観点からは非常に悪い設計です。 DeMorganの法則をよく使う方がいいでしょう(前のコメントでこれを見ることができます)。他の開発者が理解できる高品質のコードを書く方法を学ぶことが良いでしょう。
あなたの質問に対する答えははいできます。私たちは時にはそこに置くべきものを思い付くかもしれないが、それは後の段階でしか想像していません。
多くの人は、あなたが条件を否定することができます示唆したが、それはすべてあなたが将来、コードを視覚化しないかに依存します。
これは一般的な問題です。空の括弧はかなり醜いですが、許可されています。効果的で読みやすい節を作成するには、!(節)を使用します。使用法:
なぜ倒立型テストを使用しませんか?すなわち、if(!empty($ data)&& $ data!= "unanswered")) – tdk001
読みやすい条件を使用します。空のブロック( '{}')を使わないように条件を反転させないでください。 – axiac