比較演算子で変数やプロパティを使用する前に、常に変数やプロパティを定義するとは限らないというプログラミングの悪い習慣に陥っていることを学んでいます。今まで気が付かなかったのですが、違う環境で開発しているので気付きました。
例えば:
if ($test_var)
echo "Do some stuff";
これは、必要に応じて、isset
またはempty
必要に応じて簡単に解決できます。
ただし、次のように、これらの宣言されていない変数/プロパティを比較で使用する傾向もあります。
if (($test_int == 1) && ($test_str == "hello world"))
echo "Do some stuff";
isset
これをorempty
ステートメントで書き直すのは非常に困難です。全体を の束でラップすることもできissets
ますが、そうすると、読みやすさと保守性に影響を与えるネストされたスパゲッティ コードがすぐに得られます。
なぜこれが起こっているのか理解していますが、一般的な方法として最善の解決策を見つけるための助けを求めています.
この解決策が以前に投稿されていた場合はお詫び申し上げます。調べてみましたが、特に比較の書き方ではなく、なぜ通知が表示されるのかについての質問しか見つかりませんでした。