PHP入門!三項演算子の使い方を理解し、3つのステップでマスターする方法 – Japanシーモア

PHP入門!三項演算子の使い方を理解し、3つのステップでマスターする方法

PHP三項演算子の詳細解説PHP
この記事は約4分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

このサービスは複数のSSPによる協力の下、運営されています。

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読むことで、PHPの三項演算子の使い方を理解し、実践的な応用例をマスターすることができるようになります。

初心者の方でもわかりやすいように、具体的なサンプルコードを用いて解説していきます。

それでは、始めていきましょう。

●PHPの三項演算子とは

三項演算子は、条件式、真の場合の値、偽の場合の値の3つのオペランド(引数)をとる演算子です。

PHPでは、次のような形式で使用されます。

条件式 ? 真の場合の値 : 偽の場合の値;

条件式が真であれば、真の場合の値が評価され、偽であれば、偽の場合の値が評価されます。

これにより、簡潔な条件分岐を実現することができます。

●三項演算子の使い方

○サンプルコード1: 基本的な使い方

このサンプルコードでは、三項演算子を使って、変数$scoreが60以上かどうかを判断し、合格か不合格を表示する例を紹介します。

この例では、$scoreが60以上であれば”合格”、そうでなければ”不合格”と表示しています。

$score = 65;
$result = $score >= 60 ? '合格' : '不合格';
echo $result; // 出力: 合格

○サンプルコード2: null合体演算子との併用

null合体演算子は、PHP7以降で利用可能な演算子で、左辺の値がnullであれば右辺の値を返すものです。

三項演算子と併用することで、より柔軟な条件分岐を実現できます。

$name = null;
$nickname = "田中";

// $nameがnullであれば$nicknameを、そうでなければ$nameを使用
$display_name = $name ?? ($name ?: $nickname);
echo $display_name; // 出力: 田中

●三項演算子の応用例

○サンプルコード3: 条件分岐によるメッセージ表示

次のサンプルコードでは、年齢に応じたメッセージを出力するための三項演算子の使用方法を示しています。

具体的には、年齢が20歳以上であれば”成人”と出力し、そうでなければ”未成年”と出力します。

$age = 18;
$message = ($age >= 20) ? '成人' : '未成年';
echo $message; // 出力: 未成年

○サンプルコード4: 動的な変数値の代入

三項演算子は、値の代入を動的に行うためにも使用することができます。

次のサンプルコードでは、時間に応じて異なるメッセージを変数に代入しています。

具体的には、時間が12時未満であれば”おはよう”、12時以上18時未満であれば”こんにちは”、それ以外では”こんばんは”と変数に代入します。

$hour = date('H');
$greeting = ($hour < 12) ? 'おはよう' : (($hour < 18) ? 'こんにちは' : 'こんばんは');
echo $greeting;

●注意点と対処法

三項演算子は便利ですが、適切に使用しないとコードの可読性を損なう可能性があります。

例えば、三項演算子を多用したり、ネストさせたりすると、コードが複雑になり、理解しにくくなる場合があります。

そのため、適切なバランスを保つことが重要です。

また、三項演算子は短絡評価(ショートサーキット評価)を行います。つまり、条件式が真であれば、偽の場合の値は評価されません。

これは、偽の場合の値が何らかの副作用(例えば、関数の呼び出し)を持つ場合には注意が必要です。

●カスタマイズ方法

○サンプルコード5: 複数の三項演算子の組み合わせ

複数の三項演算子を組み合わせることで、より複雑な条件分岐を表現することが可能です。

下記のサンプルコードでは、得点に応じて異なる評価を出力する処理を行っています。

具体的には、得点が80以上であれば”優秀”、得点が60以上80未満であれば”良”、それ以外では”頑張ろう”と評価します。

$score = 75;
$evaluation = ($score >= 80) ? '優秀' : (($score >= 60) ? '良' : '頑張ろう');
echo $evaluation; // 出力: 良

まとめ

以上、PHPの三項演算子の基本的な使い方と、応用例について解説しました。

三項演算子はその簡潔さから多くの場面で活用することができますが、複雑な条件分岐を表現する場合は、適切なバランスが求められます。

また、null合体演算子との併用により、より多様な表現が可能となります。

これらを理解し、適切にコードに反映させることで、より効率的なプログラミングが可能となります。