• ベストアンサー

空文字列の扱い方

お世話になっています。 質問なのですが、 $a = 0; $b = ""; if ($a == $b){ echo "XXX"; } else{ echo "YYY"; } この式を実行すると、XXXが表示されます。 ちょっと予想外(ひょっとしたら、これが普通なのかもしれませんが・・・)だったので、HELPを見てみると http://php.s3.to/man/language.types.string.html(結構下のほうです。) のようなことが書いてありました。 もし、YYYを表示したかったら、どのようにすればいいのでしょうか? ちなみに、変数の値は変えたくはありません。 変な質問ですが、宜しくお願い致します。 環境: php:4.06 OS:RedHat7.2 以上です

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

  • ベストアンサー
  • imasyu
  • ベストアンサー率36% (19/52)
回答No.2

== で比較をするとnull値と0が同じとみなされてしまいます。===ならば型の違いまで判定してくれるので結果が変わると思います。 こんな感じ $a = 0; $b = ""; if ($a === $b){ echo "XXX"; } else{ echo "YYY"; }

teraum
質問者

お礼

imasyu様 teraumです。 回答有難うございました。 ご親切に有難うございました。 以上です

その他の回答 (2)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.3

「==」では型まで見ていません。 「===」(イコールが三つ)を用いれば型まで見てくれます。

teraum
質問者

お礼

kusukusu様 teraumです。 回答有難うございました。 PHPを最近はじめたもので、よく調べれば分かるような質問をしてしまいました。 ご親切に有難うございました。 以上です

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

PHPの4なら NULLが使えるようです。 参考URLを参照してみてください。

参考URL:
http://php.benscom.com/manual/ja/language.types.null.php
teraum
質問者

お礼

taknt様 teraumです。 回答有難うございました。 ご親切に有難うございました。 以上です

関連するQ&A

専門家に質問してみよう