[PHP-users 6839] Re: ==って・・

shin1 nomoto php-users@php.gr.jp
Fri, 12 Apr 2002 11:34:31 +0900


  こんにちは。野元です。

松下様、安力川様ありがとうございます。

>=== で比較されてはいかがでしょうか。
>=== では変数の型まで同一の場合にのみTRUEだった気がします。
>型のキャストも適宜使う必要があるかもしれませんが。

===で比較するのが手っ取り早そうですね。

でも強制的に意図した型で比較するのとはちょっと
違うので===の動作に慣れないと、思わぬところでミス
しちゃいそうです。

>$a = (string)$a;
>ではどうでしょうか。

明示的なキャストを事前に行っておくのですね。

これを見てstringに強制的にキャストさせるというので、
こういう方法も思いつきました。
if("$a" == "") これなら ===と同程度の文字量だし、強制的に
stringへキャストするのと同じですよね。
3つの方法で色々試してみたいと思います。

>http://www.php.net/manual/ja/language.types.type-juggling.php

なるほど。
あまり型キャストについては意識した事がなかったので
注意してプログラミングします。

今回はまったのは、ファイルから読んだ数値(string)を
ある条件のときだけ加減してから処理を通すようにしたら、
今まで通っていた処理が意図しない動きをしたのでした。
計算した後、キャストしてstringに戻しておくべきでした。

ありがとうございました。