• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:未定義の変数に対して条件分岐する際の対処法)

未定義の変数に対して条件分岐する際の対処法

このQ&Aのポイント
  • PHP 5.3で条件分岐する際に未定義の変数に対処する方法について紹介します。
  • 未定義の変数に対して条件分岐する際には、エラーを回避するために事前に変数を初期化する方法が一般的です。
  • 具体的には、isset関数を使用して変数が定義されているかどうかを判定し、未定義の場合は初期値を設定します。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 No.1ですカッコ一つ忘れてました。訂正です。すみません。 if ( isset($option['param1']) && $option['param1'] === 'test' ) { }

django13
質問者

お礼

狙い通りの動作が確認できました。 @でごまかすよりすっきりしているので今後この方法でやっていこうと思います。 ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

すでに質の良い回答はでていますが、配列の要素を前提とするなら array_key_exists('param1',$option) のような書き方の方が、理解が深まるかもしれません。 既出の回答と結果は同じです またおそらく#1さんが常識の範囲としてあえて触れていませんが $option['param1'] == 'test' はありえません。最低でも $option['param1'] === 'test' としてください 変数(配列をふくむ)と文字列との比較の場合、 仮に$option['param1']が0でも成り立ってしまいますよ

django13
質問者

お礼

そういう書き方もあるのですね。 比較演算子のほうもご指摘ありがとうございます。 大きな勘違いをしていたようです。

すると、全ての回答が全文表示されます。
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 issetでチェックすればよいのではないでしょうか。 if ( isset($option['param1'] && $option['param1'] === 'test' ) { }

すると、全ての回答が全文表示されます。

関連するQ&A