三項演算子

三項演算子とは、条件式が真である場合と偽である場合で、2つの値を切り替えるための演算子です。
if文と同様に、条件によって処理を分岐させることができます。

if文と比較して、より簡潔なコードを書くことができます。

三項演算子は以下のような書式を持ちます。

<?php
(条件式) ? (真の場合の値) : (偽の場合の値);
// 条件式が true の場合には真の場合の値が返され、false の場合には偽の場合の値が返されます。
?>

三項演算子の利点

三項演算子を使うことで、if文を使うよりもコードを短く書くことができます。
また、if文と同様に条件分岐を行うことができるため、プログラムの柔軟性を高めることができます。

三項演算子の欠点

三項演算子は、複雑な条件分岐を行う場合には使いにくいという欠点があります。また、コードの可読性を損ねる場合があるため、必ずしも使いすぎることが望ましくありません。

下記は悪い使い方をした三項演算子の例です

<?php
// 三項演算子がネストしているのでどの条件が当てはまるかが理解しずらいため
//ネストした三項演算子は使わないようにしましょう
$result = ($a == 1) ? 'true' : ($a == 2) ? 'maybe' : 'false';

?>

三項演算子文 サンプルプログラムで確認してみましょう

<?php
// 性別
$gender = 'woman';
// 性別判定
echo $gender === 'man' ? '男性' : '女性';
//この例では、変数 $genderの値がman以上の場合は “男性” というメッセージが、表示され
//それ以外は女性というメッセージが表示されます

$point = 20;

echo ($point >= 80) ? '80以上は優良です' : 'もう少し頑張りましょう';

//この例では、変数 $point の値が 80 以上の場合は “優良です!” というメッセージが、
//それ以下の場合は “もう少し頑張りましょう”というメッセージがが出力されます。
?>

三項演算子文をif文に置き換えてみましょう

<?php
// 性別
$gender = 'woman';

if ($gender === 'man') {
    // 条件がmanの場合
    echo '男性';
} else {
    echo '女性';
    // 女性が出力します
}
?>

上記のコードをコピペして下記のサイトで実際にPHPコードを実行してみましょう
本サイトでは、基礎的な学習は開発環境を構築しないで、webで実行します。
コピペで動作したら、今度は自分で実際にコードをトレースしてコーディングしてみましょう
効率的にプログラムを学習するなら必ず、手打ちすることです。
打つことで、アウトプットして覚えていきます。

ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
paiza.IOはオンラインですぐにプログラミングが始められる、オンライン実行環境です。Java,Ruby,Python,PHP,Perlなど主要24言語に対応。プログラミング学習にも。
タイトルとURLをコピーしました