PHP

【PHP】if文を省略して記述する三項演算子の書き方・使い方

本記事では、条件分岐のif文を省略して記述することができる三項演算子の書き方・使い方について解説しています。

ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】

先輩くん
先輩くん
年収、休日数、労働環境等クラウドリンクが審査し、これらを通過した優良求人情報のみ紹介しているよ!
後輩ちゃん
後輩ちゃん
100%自社内開発の求人だから、SESのように職場環境が変わらないのがいいね!
簡単30秒で無料登録!

PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

本書情報
著者谷藤 賢一
発売日2017/3/6
ページ数331ページ
Kindle版
レビュー
(Amazon)
(168件)

三項演算子の書き方・使い方

三項演算子の書き方は以下のとおりです。分かりやすいようにif文も掲載しています。

/* ↓if文を使った書き方 */
if(条件式) {
    // true時の処理
} else {
    // false時の処理
}

/* ↓三項演算子を使った書き方 */
条件式 ? true時の処理 : false時の処理;

if文の条件分岐よりも三項演算子を使った条件分岐の方が記述量が圧倒的に少なくシンプルなコードになっていることが分かります。

三項演算子の使い方
  • 条件式:if文の()内で記述する条件式
  • true時の処理:「:」より前に処理を記述
  • false時の処理:「:」の後に処理を記述

三項演算子はあくまで演算子の一つなので、結果として値を返します。そのため、if文のように$変数 = 値のように記述する必要がありません。

<?php 
$sex = 'Man';
$msg = $sex === 'Man' ? '私は男性です' : '私は女性です';
print_r($msg);
?>

三項演算子のサンプルコード

下記のサンプルコードでは、変数$sexにMan(男性)またはWoman(女性)を判別するための文字列が代入されています。変数$sexの文字列がManの場合は「私は男性です」を出力し、Womanの場合は「私は女性です」を出力します。

<?php 
$sex = 'Man';
$msg = $sex === 'Man' ? '私は男性です' : '私は女性です';
print_r($msg); // -> 私は男性です

$sex = 'Woman';
$msg = $sex === 'Man' ? '私は男性です' : '私は女性です';
print_r($msg); // -> 私は女性です
?>
サンプルコード表示結果
サンプルコード表示結果

上記の画像はサンプルコードの実行結果になります。1回目の処理では「私は男性です」が表示され、2回目の処理では「私は女性です」が表示されていることが確認できます。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村