【PHP】比較演算 - 2値の関係性の真偽を比較演算子で算出する
PHPは2値の関係性の真偽を判定できます。
ここでは、その処理である比較演算について解説します。
検証環境
比較演算
比較演算は2値の関係性の真偽を判定する演算です。
判定の結果として、関係性が正しい場合は真(true)、正しくない場合は偽(false)を算出します。
例えば、変数$xがあるとき、“$xの値は8と等しい”や“$xの値は3より小さい”などについて真偽を判定します。
この場合、変数$xの値が8のとき、前述の比較演算(“$xの値は8と等しい”)は真、後述の比較演算(“$xの値は3より小さい”)は偽になります。
比較演算子
比較演算子は比較演算の種類を表す記号です。
例えば、2値の関係が等しいことを表す演算子は==で、代表的な比較演算子は次の通りです。
| 比較演算子 | 関係性 | 例 |
|---|---|---|
| == | 値が等しい | $x == 10 |
| === | 値と型が等しい | $x === 10 |
| != | 値が等しくない | $x != 10 |
| <> | 値が等しくない | $x <> 10 |
| !== | 値または型が等しくない | $x !== 10 |
| < | 値の大小関係(左オペランドが右オペランドより小さい) | $x < 10 |
| > | 値の大小関係(左オペランドが右オペランドより大きい) | $x > 10 |
| <= | 値の大小関係(左オペランドが右オペランド以下) | $x <= 10 |
| >= | 値の大小関係(左オペランドが右オペランド以上) | $x >= 10 |
基本構文
左オペランド 比較演算子 右オペランド
左オペランドと右オペランドの値が比較演算子で示す関係性であるかどうかを判定します。
サンプル
3つの比較演算子である『等しい(==)』、『より大きい(>)』、『以下(<=)』のサンプルを示します。
等しい(==)
<?php
$x = 10;
___ih_hl_start
$result = $x == 10;
___ih_hl_end
var_dump($result);
?>
$ php sample.php
bool(true)
5行目の$x == 10が比較演算です。
この比較演算は『$xの値が10に等しい』の真偽を判定し、$xの値は10のため、算出結果は真になります。
実行結果から$resultは論理型(bool)のtrueであることが分かります。
より大きい(>)
<?php
$x = 10;
___ih_hl_start
$result = $x > 99;
___ih_hl_end
var_dump($result);
?>
$ php sample.php
bool(false)
5行目の$x > 99が比較演算です。
この比較演算は『$xの値が99より大きい』の真偽を判定し、$xの値は10であり、99より大きくないため、算出結果は偽になります。
以下(<=)
<?php
$x = 10;
___ih_hl_start
$result = $x <= 10;
___ih_hl_end
var_dump($result);
?>
$ php sample.php
bool(true)
5行目の$x <= 10が比較演算です。
この比較演算は『$xの値が10以下である』の真偽を判定し、$xの値は10であり、10以下(10を含む)のため、算出結果は真になります。
このように他の比較演算子も使うことができます。
演習問題
コマンドライン引数で与えた値が999以下かを判定するプログラムを作成してください。
なお、下記の条件を満たすものとします。
- 判定結果はvar_dump関数で出力
$ php practice.php 1000
bool(false)
コマンドライン引数で与えた値が123ではないかを判定するプログラムを作成してください。
なお、下記の条件を満たすものとします。
- 判定結果はvar_dump関数で出力
$ php practice.php 123
bool(false)