PHPで驚くほど簡単!三項演算子の使い方と省略法を完全マスターする10のステップ – Japanシーモア

PHPで驚くほど簡単!三項演算子の使い方と省略法を完全マスターする10のステップ

PHP三項演算子の説明図PHP
この記事は約5分で読めます。

 

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

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

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

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

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

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

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

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

はじめに

PHPの世界に足を踏み入れたあなた、コーディングをより効率的に、よりスマートに進めたいと思いませんか?

本記事を読み進めることで、PHPの三項演算子とその省略法について、初心者でも理解できるように詳しく解説します。

さらに、具体的なサンプルコードを交えてその使い方や注意点、応用例を紹介します。

10のステップで一緒に学びましょう。

●PHPとは

PHPは、「Personal Home Page」の略で、サーバーサイドで動作するスクリプト言語です。

主にWebサイトのバックエンド開発で使用され、HTMLと連携して動的なWebページを作成することが可能です。

○PHPの基本

PHPの基本的な構文はC言語に似ており、初心者にとっても学びやすい特徴があります。

その一方で、PHPは強力な機能を持ち、大規模なWebアプリケーションの開発にも対応できるため、初級者から上級者まで幅広く利用されています。

●三項演算子とは

三項演算子は、その名の通り3つのオペランドを持つ特殊な演算子です。

形式は “(条件) ? (真の場合の値) : (偽の場合の値)” となります。

○三項演算子の基本

PHPにおける三項演算子は、ある条件が真(true)であれば一つの値を、偽(false)であれば別の値を返すという機能を持ちます。

これにより、if-else文をより簡潔に書くことが可能となります。

●三項演算子の使い方

それでは、具体的なコードを見ていきましょう。

○サンプルコード1:基本的な三項演算子

このコードでは、変数$scoreの値が60以上かどうかを三項演算子を使って判定しています。

60以上であれば’合格’を、それ以下であれば’不合格’を$resultに代入します。

結果はechoで出力されます。

<?php
$score = 85;
$result = ($score >= 60) ? '合格' : '不合格';
echo $result;
?>

○サンプルコード2:省略形式の三項演算子

このコードは、変数$nameがnullかどうかを省略形式の三項演算子を用いて確認しています。

$nameがnullであれば、’名前未設定’という文字列を出力します。

それ以外の場合は、$nameの値自体が出力されます。

<?php
$name = null;
echo $name ?: '名前未設定';
?>

●三項演算子の応用例

三項演算子はそのシンプルさから、様々な場面で利用することができます。

次に、その応用例を見ていきましょう。

○サンプルコード3:条件式を複数用いた例

このコードでは、$ageの値によって異なる料金$priceを設定しています。

まず、$ageが13未満であれば$priceは500になります。

$ageが13以上20未満であれば$priceは1000になります。

それ以外、つまり$ageが20以上であれば$priceは1500になります。

<?php
$age = 20;
$price = ($age < 13) ? 500 : (($age < 20) ? 1000 : 1500);
echo $price;
?>

○サンプルコード4:三項演算子を使った関数の戻り値

このコードでは、年齢を引数に取るisAdultという関数を定義しています。

$ageが20以上であれば”成人”を、それ以外であれば”未成年”を返します。

この例では、引数に18を指定しているので、出力結果は”未成年”になります。

<?php
function isAdult($age) {
    return ($age >= 20) ? "成人" : "未成年";
}
echo isAdult(18);
?>

このコードでは、年齢を引数に取るisAdultという関数を定義しています。

$ageが20以上であれば”成人”を、それ以外であれば”未成年”を返します。

この例では、引数に18を指定しているので、出力結果は”未成年”になります。

●注意点と対処法

三項演算子は便利ですが、使い方を間違えるとコードが複雑になり可読性が低下します。

また、深くネストすると予想外の結果を返す可能性もあります。

そのため、可能な限りシンプルな条件で使用し、複雑なロジックはif文やswitch文を用いることを推奨します。

●三項演算子の省略法のカスタマイズ方法

PHPでは、三項演算子をさらに短く書くことが可能な省略形式が提供されています。

また、PHP7.4以降では、null合体演算子という、nullチェックとデフォルト値の設定を一度に行うことができる演算子も導入されました。

○サンプルコード5:省略形式の三項演算子のカスタマイズ例

このコードでは、null合体演算子を用いて配列$dataの’message’キーが存在するかどうかを確認しています。

存在する場合はその値を$messageに代入し、存在しない場合は、’データがありません’という文字列を$messageに代入します。

<?php
$data = [];
$message = $data['message'] ?? 'データがありません';
echo $message;
?>

まとめ

本記事では、PHPの三項演算子の基本から省略形式、さらにはその応用例まで詳しく解説しました。

三項演算子は、簡潔なコードを書くための強力なツールですが、適切に使用することが重要です。

この記事が、あなたのPHPでのコーディングにおける一助となれば幸いです。