• ベストアンサー

issetで変数の存在をチェックした際に・・・

以下のようなスクリプトについて質問です。 if(!isset($hoge)){echo"hoge";} 上記のスクリプトの結果、$hogeが定義されていないはずなのに、hogeが出力されていたので、試しに直前にecho$hoge;と加筆してみたところ、「Notice: Undefined variable: hoge in・・・」が出ました。 $hogeが未定義ならhogeが出力されないはずなのに、hogeが出力された上に$hogeの未定義noticeが出る理由が分かりませんでした。 理由が分かる方(または想像がつく方)、ご教示ください。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

!isset($hoge) ですから、$hoge がセットされていない時に TRUE になりますよ。 なので、今の動作が正しいと思います。

mic_goto
質問者

お礼

おっしゃる通りでした。 ケアレスミス(「!」を付けてしまっていた)でした。 申し訳ございません。 ご指摘ありがとうございます。 大変助かりました。

関連するQ&A

専門家に質問してみよう