本記事では、条件分岐のif文を省略して記述することができる三項演算子の書き方・使い方について解説しています。
PHPの学習におすすめ書籍
独習PHP 第4版
メリット
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
三項演算子の書き方・使い方
三項演算子の書き方は以下のとおりです。分かりやすいように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回目の処理では「私は女性です」が表示されていることが確認できます。