こんにちは、システム事業部のfujiです!

今回から、PHPの比較演算子についての記事です。

 

まず、比較演算子とは左右のオペランド(演算の対象となる値や変数のこと)を比較するものです。

比較した結果は、論理値TRUE(真)かFALSE(偽)で返します。

オペランドには、数値や文字列等、様々な型の値を使用することができます。

 

以下は、比較演算子の表になります。
<table class=”table4″ style=”height: 435px;” border=”1″ width=”1041″>
<tbody>
<tr>
<th>例</th>
<th>名前</th>
<th>結果</th>
</tr>
<tr>
<td>$a == $b</td>
<td>等しい</td>
<td>型の相互変換をした後で $a が $b に等しい時に TRUE</td>
</tr>
<tr>
<td>$a === $b</td>
<td>等しい</td>
<td>$a が $b に等しく、および同じ型である場合に TRUE</td>
</tr>
<tr>
<td>$a != $bまたは$a &lt;&gt; $b</td>
<td>等しくない</td>
<td>型の相互変換をした後で $a が $b に等しくない場合に TRUE</td>
</tr>
<tr>
<td>$a !== $b</td>
<td>等しくない</td>
<td>$a が $b と等しくないか、同じ型でない場合に TRUE</td>
</tr>
<tr>
<td>$a &lt; $b</td>
<td>より少ない</td>
<td>$a が $b より少ない時に TRUE</td>
</tr>
<tr>
<td>$a &gt; $b</td>
<td>より多い</td>
<td>$a が $b より多い時に TRUE</td>
</tr>
<tr>
<td>$a &lt;= $b</td>
<td>より少ないか等しい</td>
<td>$a が $b より少ないか等しい時に TRUE</td>
</tr>
<tr>
<td>$a &gt;= $b</td>
<td>より多いか等しい</td>
<td>$a が $b より多いか等しい時に TRUE</td>
</tr>
<tr>
<td>$a &lt;=&gt; $b</td>
<td>宇宙船</td>
<td>$a が $b より小さいときに負の値、 $b と等しいときに 0、 $b より大きいときに正の値。PHP 7 以降で使用可能</td>
</tr>
</tbody>
</table>
&nbsp;

他の言語でも似たような使い方ができるものが多いですが、

今回調べていて$a &lt;=&gt; $bは初めて見ました。(なんで宇宙船なんだろう…)

こちらの比較演算子では、

<code>echo 1 &lt;=&gt; 1; // 0
echo 1 &lt;=&gt; 2; // -1
echo 2 &lt;=&gt; 1; // 1</code>

のような結果になるようです。

&nbsp;

注意点としては、==と===の違いです。

==は緩やかな比較で、===は厳密な比較をします。

例えば、TRUE と1を比較したときに、==では真、===では偽になります。

この緩やかな比較と厳密な比較の違いについては、次回の記事で詳しく扱います。

&nbsp;

&nbsp;