アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっています。
質問なのですが、

$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

以上です

A 回答 (3件)

== で比較をするとnull値と0が同じとみなされてしまいます。

===ならば型の違いまで判定してくれるので結果が変わると思います。

こんな感じ
$a = 0;
$b = "";

if ($a === $b){
echo "XXX";
}
else{
echo "YYY";
}
    • good
    • 0
この回答へのお礼

imasyu様

teraumです。


回答有難うございました。

ご親切に有難うございました。

以上です

お礼日時:2002/12/20 09:26

「==」では型まで見ていません。


「===」(イコールが三つ)を用いれば型まで見てくれます。
    • good
    • 0
この回答へのお礼

kusukusu様

teraumです。

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

ご親切に有難うございました。

以上です

お礼日時:2002/12/20 09:23

PHPの4なら NULLが使えるようです。



参考URLを参照してみてください。

参考URL:http://php.benscom.com/manual/ja/language.types. …
    • good
    • 0
この回答へのお礼

taknt様

teraumです。


回答有難うございました。

ご親切に有難うございました。

以上です

お礼日時:2002/12/20 09:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!