PHPの三項演算子について簡単なサンプルコードで解説

PHPの三項演算子について簡単なサンプルコードで解説

12 回閲覧されました

みなさんこんにちは、jonioです。

今回は三項演算子について簡単なサンプルコードで解説します。

Laravelの無料学習サイトを作りました

Laravelを勉強したい人向けの無料の学習サイトを作りました。

ここからリンクに飛べますのでぜひ利用してください。

三項演算子とは

if-elseを簡単に記述することができます。

if-elseを使ったサンプルコードがあったとします。

<?php
  $age = 20;
  
  if ($age >= 18) {
    $message = '大人です';
  } else {
    $message = '未成年です';
  }
  
  echo $message;
?>

// 結果は「大人です」

これが三項演算子を使った場合は下記になります。

<?php
  $age = 20;
  
  $message = ($age >= 18) ? '大人です' : '未成年です';
  
  echo $message;
?>

// 結果は「大人です」

1行で済むので記述が楽になります。

三項演算子の基本の書き方は以下になります。

条件式 ? 真のときの値 : 偽のときの値;

条件が複数ある場合

先ほどのサンプルコードは条件が1つだけでしたが2つ以上ある時も使えます。

ただ条件が3つ以上ある時はif文で書いた方がコードが複雑にならないと思います。

条件が2つの場合は以下の書き方をします。

<?php
  $age = 15;
  
  $message = ($age >= 18) ? '大人です' : ($age > 10) ? '少年です' : '幼児です';
  
  echo $message;
?>

// 結果は「大人です」

基本の書き方は「条件式 ? 真のときの値 : 偽のときの値;」ですが「偽のときの値」でさらに三項演算子を使えばいいです。

上記のサンプルコードでは「偽の時の値」が「($age > 10) ? ‘少年です’ : ‘幼児です’」になります。

省略した三項演算子の書き方

例えば下記のコードがあったとします。

$a ? $a : $b

「条件式」と「真の時の値」が同じ値の場合は下記の書き方ができます。

$a ? $a : $b