PHPの比較演算子 "==" と "===" の違い

PHPでは"="を表す比較演算子には"=="と"==="の2種類があります。

演算子による違い

"=="と"==="の違いは以下の通りです。

  • == … 値が等しい時にTRUEを示します。
  • === … 値が等しく型も等しい時にTRUEを示します。


PHPでは"=="演算子を使うと型が違っていても等しいとみなされます。

$a = 10;
$b = '10';

のとき

$a == $b

はTRUEを

$a === $b

はFALSEを示します。

コード例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
      $a = 8;
      $b = 4+4;
      $c = '8';
      
      if ($a == $b){
        echo('$a == $b です。<br/>');
      }else{
        echo('$a == $b ではありません。<br/>');
      }

      if ($a === $b){
        echo('$a === $b です。<br/>');
      }else{
        echo('$a === $b ではありません。<br/>');
      }

      if ($a == $c){
        echo('$a == $c です。<br/>');
      }else{
        echo('$a == $c ではありません。<br/>');
      }

      if ($a === $c){
        echo('$a === $c です。<br/>');
      }else{
        echo('$a === $c ではありません。<br/>');
      }
    ?>
  </body>
</html>

実行結果

$a == $b です。
$a === $b です。
$a == $c です。
$a === $c ではありません。


AuthorPortraitAlt
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
作成日: 2011-02-03
Copyright © 1995–2025 iPentec all rights reserverd.