[PHP-users 6826] ==って・・
shin1 nomoto
php-users@php.gr.jp
Fri, 12 Apr 2002 03:55:11 +0900
こんばんは。野元です。
Perlはよく使ってるのですが、PHP歴はまだ浅いので
PHPの比較演算子について教えてください。
$a = "0";
if($a == ""){
echo "EQ:".$a;
}else{
echo "NE:".$a;
}
では NE:0 となるのですが、
$a = "100";
$a = $a - 100;
if($a == ""){
echo "EQ:".$a;
}else{
echo "NE:".$a;
}
では EQ:0 となりますよね。
先の場合は string 対 string で比較されてて、
後の場合は integer 対 integer で比較されてる
ように思うのですが、Perlのeq演算子のように
確実に string 対 string として比較する演算子は
無いのでしょうか。
変数の内容の型によって同じ ==演算子の結果が
ころころ変わってくるので、デバッグに時間が
かかってしまいます。echoで表示したら同じ0ですし。
確実に""と比べたいときは strval($a) == "" とか
strcmp($a, "")とかやるしかないのでしょうか。
他に、ソースが長くならない良い記法は無いですか?