PHP

PHPの驚くべき演算子

先日、PHPだとif('01' == '1')がtrueになってしまうという記事を書きました。
PHPでは'01'と'1'は同じなの!?

が、

調べてみると演算子(==)に関して驚くべきことが分かりました。

 

結論から言うと、

演算子(==)

は使うなということのようです。
※厳密には全く使わないという訳にはいかないような気もしますが。。。

 

というのは、

if("1" == 1) ~; 
は当然「true」です。

if("x1" == 1) ~;
は当然[]false」になります。

あと、
if("1x" == "1") ~;
も当然「false」です。

 

が、

驚くのはここからで、

if("1x" == 1) ~;
↑これ、「true」になります。

if("1あ" == 1) ~;
も「true」になります。

 

対処方法としては、

if("1x" === 1) ~;

というように、

「===」

を使って型まで厳密にチェックしたり、

if(strcmp("1x", 1) == 0) ~;

とすればいいとのことです!!

WordPress短期学習プログラム

関連記事

  1. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】count関数でエラーが出ました。。。

    かなり昔に弊社が作成したシステムがあるのですが、諸々の理由で別サー…

  2. サーバー設定

    PHP

    PHPの最新リポジトリを追加でエラー!!

    Ubuntu(バージョンは16.xx)で構築したサーバに、PHP7…

  3. PHP(ピー・エイチ・ピー)

    PHP

    Smartyで日時を扱う方法

    {$smarty.now}で日時を取得Smartyで日時を…

  4. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】substr()を使って郵便番号を「3桁 - 4桁」に変換

    PHPでの郵便番号の取り扱いについて、メモ程度に情報を残しておきま…

  5. PHP

    PHPで切り捨て、切り上げ、四捨五入

    プログラミングをしている時に、何らからの計算処理をすると小数点以下…

  6. システムエラー

    PHP

    【PHP】ZIP圧縮で「Uncaught Error: Class 'ZipArchive' not…

    【PHP ZipArchive】ZIPへの圧縮でエラー…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. CakePHP
  2. PHP(ピー・エイチ・ピー)
  3. PHP(ピー・エイチ・ピー)
  4. PHP(ピー・エイチ・ピー)
  5. WP:WordPress(ワードプレス)
  6. WP:WordPress(ワードプレス)
  7. WP:WordPress(ワードプレス)
  8. Security(セキュリティ)
  9. WP:WordPress(ワードプレス)
  10. WP:WordPress(ワードプレス)
PAGE TOP