メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • PHPの文字と数字の混合比較(0 == "a")の注意点

PHPの文字と数字の混合比較(0 == "a")の注意点

php
development
php

PHPの文字と数字を混合( 0==”a” =>true )で比較すると正しくない結果ができます

  • 環境:PHP5.6
  • 文字と数字を比較演算
    var_dump(0 == "a");     //  => bool(true)
  • 明らかに正しくない結果となります

PHPは比較演算(==)時に型相互交換後に値を比較します

  • PHP:比較演算子の説明より: 型の相互変換をした後で値を比較して結果を返します
  • 上記例では数字と文字の比較なので、数字(int)に型を変更(キャスト)して比較することになります
    PHPの文字、数字の比較演算

PHPの演算子(===)を使用したほうが安全です

  • 演算子(===)がまず型を比較して、値を比較することになります
    var_dump(0 === "0");     //  bool(false)
    var_dump("1" === "01");  //  bool(false)
  • なるべく演算子(===)を使用して比較します
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)