- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでの変数の扱い方)
PHPで変数を扱う方法とは?
このQ&Aのポイント
- PHPで変数を扱う方法を解説します。
- PHPの条件分岐でtrueになるケースについて説明します。
- 変数の修正方法についても解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
== での比較は型変換が行われた後に比較されます。 '-' は数値型として見た場合 0 です。 内部的には -0 という数字として扱われているはずです。 なので、PHPにとっては現在の動作が正しい動作です。 質問者さんが望む(1)の正しい動作が FALSE であるならば、 if($value === '-'){ とするべきです。
その他の回答 (2)
- ts3m-ickw
- ベストアンサー率43% (1248/2897)
回答No.2
変数の型の比較がうまくいってない動作ですね。 '-'は'-0'の0が省略されたintだと認識してるようです。 詳しくは↓とか見てもらうとして。 http://php.net/manual/ja/types.comparisons.php 型まで含めた厳密な比較をするなら==ではなく===を使うべきだ、とNo.1さんは言っています。 もちろん、それを知ったうえで==を使うのは自由です。
質問者
お礼
回答ありがとうござます。 文字列の比較には===を使うべきなのですね。
- corokorocoro
- ベストアンサー率29% (63/211)
回答No.1
PHPにおいて文字列の比較に「==」を使うなんて非常識すぎ。
質問者
お礼
すみません。 初心者なもので、なぜ非常識か分かりません。 解説お願いします。
お礼
回答ありがとうございます。 よく分かりました。 プログラムを見直します。