• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでの変数の扱い方)

PHPで変数を扱う方法とは?

このQ&Aのポイント
  • PHPで変数を扱う方法を解説します。
  • PHPの条件分岐でtrueになるケースについて説明します。
  • 変数の修正方法についても解説します。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.3

== での比較は型変換が行われた後に比較されます。 '-' は数値型として見た場合 0 です。 内部的には -0 という数字として扱われているはずです。 なので、PHPにとっては現在の動作が正しい動作です。 質問者さんが望む(1)の正しい動作が FALSE であるならば、 if($value === '-'){ とするべきです。

参考URL:
http://www.php.net/manual/ja/types.comparisons.php
toshi_2000
質問者

お礼

回答ありがとうございます。 よく分かりました。 プログラムを見直します。

その他の回答 (2)

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

変数の型の比較がうまくいってない動作ですね。 '-'は'-0'の0が省略されたintだと認識してるようです。 詳しくは↓とか見てもらうとして。 http://php.net/manual/ja/types.comparisons.php 型まで含めた厳密な比較をするなら==ではなく===を使うべきだ、とNo.1さんは言っています。 もちろん、それを知ったうえで==を使うのは自由です。

toshi_2000
質問者

お礼

回答ありがとうござます。 文字列の比較には===を使うべきなのですね。

回答No.1

PHPにおいて文字列の比較に「==」を使うなんて非常識すぎ。

toshi_2000
質問者

お礼

すみません。 初心者なもので、なぜ非常識か分かりません。 解説お願いします。

関連するQ&A

専門家に質問してみよう