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

Koji Yasukagawa php-users@php.gr.jp
Fri, 12 Apr 2002 07:55:10 +0900


安力川です。
おはようございます。

On Fri, 12 Apr 2002 03:55:11 +0900
shin1 nomoto <shin1@bremen.or.jp> wrote:
>$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 として比較する演算子は
>無いのでしょうか。

型を明確にするという意味で

$a = "100";
$a = $a - 100;
$a = (string)$a;
//    ~~~~~~~
if($a == ""){
  echo "EQ:".$a;
}else{
  echo "NE:".$a;
}

ではどうでしょうか。
http://www.php.net/manual/ja/language.types.type-juggling.php


--
安力川幸司 (Koji Yasukagawa)
koji@transgate.org