• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpで if( $hoge == 0 ) で、$hogeが文字列でもtureになる)

phpでif( $hoge == 0 )で、$hogeが文字列でもtrueになる

このQ&Aのポイント
  • phpのif文で、$hogeが0の場合にのみtrueになるようにしたいが、文字列の場合もtrueになってしまう問題が発生した。
  • ダブルコーテーションを使用して0を囲んだ場合は、文字列でない限り正しく動作する。
  • ダブルコーテーションを使用せずに0を比較すると、文字列の場合もtrueになるため、このような結果が生じる。

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

>> 前者で、"text"をゼロとして認識してしまった理由がよく分かりません。 PHPの仕様です マニュアルにも「整数値を文字列と比較する際、文字列が 数値に変換されます。」と明記して有ります。 http://www.php.net/manual/ja/language.operators.comparison.php 文字列を含む比較には、型も厳密に比較する「===」を利用しましょう

yuzuru0024
質問者

お礼

回答ありがとうございます。 phpの仕様なんですね。