LoginSignup
50
9

独習PHP学習メモ(Chapter3-比較演算子・論理演算子)

Posted at

PHP8技術者認定初級試験取得を目指しており、無事合格できました!

資格試験用に学習した、公式の認定教材である独習PHP第4版の内容を知識定着のためアウトプットした記事です。

過去の投稿はこちら

比較演算子

左辺と右辺の値を比較し、true / false を返します。
参考:https://www.php.net/manual/ja/language.operators.comparison.php

主な比較演算子は以下です。

# 演算子 概要
== 左辺と右辺の値が等しい場合はtrue
=== 左辺と右辺の値が等しい、かつデータ型が同じ場合はtrue
!= 左辺と右辺の値が等しくない場合にtrue
!== 左辺と右辺の値が等しくない、またはデータ型が同じではない場合にtrue
<> 左辺と右辺の値が等しくない場合にtrue 
< 左辺が右辺より小さい場合にtrue
> 左辺が右辺より大きい場合にtrue
<= 左辺が右辺以下の場合にtrue
>= 左辺が右辺以上の場合にtrue
?: 条件演算子(詳細は後述)
?? 条件演算子(詳細は後述)

①==

左辺と右辺の値が等しい場合はtrueを返す。
データ型が違っても等しいとみなす。

7 == 7    // 結果:true
7 == 5    // 結果:false
7 == '7'  // 結果:true

②===

左辺と右辺の値が等しい、かつデータ型が同じ場合はtrueを返す。
==よりも厳密なチェックができる。

7 === 7    // 結果:true
7 === 5    // 結果:false
7 === '7'  // 結果:false

③!=

左辺と右辺の値が等しくない場合にtrueを返す。

7 != 7    // 結果:false
7 != 5    // 結果:true
7 != '7'  // 結果:false

④!==

左辺と右辺の値が等しくない、またはデータ型が同じではない場合にtrueを返す。

7 !== 7    // 結果:false
7 !== 5    // 結果:true
7 !== '7'  // 結果:true

⑤<>

左辺と右辺の値が等しくない場合にtrueを返す。
(③と同じ挙動)

7 <> 7    // 結果:false
7 <> 5    // 結果:true
7 <> '7'  // 結果:false

⑥<

左辺が右辺より小さい場合にtrueを返す。

7 < 10    // 結果:true
7 < 5    // 結果:false
7 < '10'  // 結果:true

⑦>

左辺が右辺より大きい場合にtrueを返す。

7 > 10    // 結果:false
7 > 5    // 結果:true
7 > '10'  // 結果:false

⑧<=

左辺が右辺以下の場合にtrueを返す。

7 <= 10    // 結果:true
7 <= 7    // 結果:true
7 <= 5    // 結果:false
7 <= '7'  // 結果:true

⑨>=

左辺が右辺以上の場合にtrueを返す。

7 >= 10    // 結果:false
7 >= 7    // 結果:true
7 >= 5    // 結果:true
7 >= '7'  // 結果:true

⑩?:

「条件式 ? 式1 : 式2」という構文で、条件式がtrueなら式1を返す、falseなら式2を返す。

$score = 75;
print $score >= 70 ? '合格だよ!' : '残念だったね。不合格';  // 結果:合格だよ!

⑪??

式がnullでないなら式1を返す、nullなら式2を返す。
null合体演算子 とも呼ばれる。

$message = 'Hello!';
print $message ?? 'Hi!';  // 結果:Hello!

論理演算子

複数の条件式を論理的に結合し、その結果をtrue / false で返します。
比較演算子と組み合わせて利用するのが一般的。

参考:https://www.php.net/manual/ja/language.operators.logical.php

主な論理演算子は以下です。

&&

左右の式が共にtrueである時にtrueを返す。(論理積)

// $x = true;
// &y = false;
$x && $y  // 結果:false

左辺がfalseであった場合はその時点で評価を終えるため、右辺は評価されない。

and

左右の式が共にtrueである時にtrueを返す。(論理積)

// $x = true;
// &y = false;
$x and $y  // 結果:false

左辺がfalseであった場合はその時点で評価を終えるため、右辺は評価されない。

||

左右の式のいずれかがtrueである時にtrueを返す。(論理和)

// $x = true;
// &y = false;
$x || $y  // 結果:true

左辺がtrueであった場合はその時点で評価を終えるため、右辺は評価されない。

or

左右の式のいずれかがtrueである時にtrueを返す。(論理和)

// $x = true;
// &y = false;
$x or $y  // 結果:true

左辺がtrueであった場合はその時点で評価を終えるため、右辺は評価されない。

xor

左右の式のいずれかがtrueであり、かつ、双方ともにtrueではない場合にtrueを返す。(排他的論理和)

// $x = true;
// &y = false;
$x xor $y  // 結果:true

!

式がtrueの場合はfalse、falseの場合はtrueを返す。(否定)

// $x = true;
!$x  // 結果:false

今回はここまで。
次も独習PHP学習メモを投稿します!

50
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
9