【PHP】if文を一行にする方法【三項演算子とは?】超見やすい

phpのif文をシンプルに 三項演算子とは?

三項演算子でif文を一行にする方法とは?

メダカ皇帝
こんにちは!メダカ皇帝@medakakoutei )です!ブログの毎日更新を400日達成!当ブログはリンクフリーです!

プログラミング学習を頑張っています。学習の過程はツイッターに随時アップしていますが、先日はこんなツイートをしました。

上記のサンプルコードはプログラミング学習のYouTubeチャンネル『Web万屋エンジニアチャンネル』の例題のコードです。if-else文ですね。

Web万屋エンジニアチャンネル

【PHP】if文を一行にする方法【三項演算子とは?】

とってもわかやすい解説で有益ですので、プログラミング初心者の方はぜひ参考にしてください。

Web万屋エンジニアチャンネル

下記の動画はPHPを網羅的に解説した有益な動画です。

この動画内でif-else文の解説があり、そのサンプルコードがさきほどのツイート内容です。

if-else文の解説部分はこちらです。

サンプルのコードはこんな感じでしたので、それを模写してツイートものが先ほどのコードです。

【PHP】if文を一行にする方法【三項演算子とは?】

-400をxに代入したら、もし$xが0以上であり、もし2で割った余りがゼロだったら正の偶数で、そうでなかったら正の奇数、もし$xが0以下であり、もし2で割った余りがゼロだったら負の偶数で、そうでなかったら負の奇数、いずれの場合でもなかったらゼロだよ。

って感じのコードです。$xに代入している-400を400にしたら、正の偶数、401にしたら正の奇数、-345にしたら負の奇数、0にしたらゼロだよになります。

【PHP】if文を一行にする方法【三項演算子とは?】

if-else文を理解するのに良い例文だと思いますので、ぜひ参考にしてくださいね!

if文はいろいろな記述ができる

【PHP】if文を一行にする方法【三項演算子とは?】

そんなツイートをしたところ、いつもお世話になっているこっぷさん(@prgkop)から、こんなリプをいただきました。

おお、なるほど!と言えないのが、プログラミング初心者の悲しいところ。

親切なこっぷさんのアドバイスをほとんど理解できないわたし。

もう何がなんだかわからなすぎて聞いちゃいました。

するとこんなお返事をいただきました!

え?偶数、奇数の判定部分は1つにできます?どういうことヽ(=´▽`=)ノ

三項演算子とは?

それを聞いて、さっそくネットでどうやったら良いかを調べて、こんな感じで返信させていただきました。

【PHP】if文を一行にする方法【三項演算子とは?】

すでにわたしはもうちんぷんかんぷん。ついていくのがやっとなんですけど、するとさらにこっぷさんは、

【PHP】if文を一行にする方法【三項演算子とは?】

三項演算子???

三項演算子とは?

【PHP】if文を一行にする方法【三項演算子とは?】

三項演算子とは、if文よりもカンタンに記述できるメリットがあります。

すぐに覚えられる!PHPで三項演算子を使う方法【初心者向け】

こっぷさんの三項演算子を使ったコードだと、最初に比べてかなり短いコードで済みます。

(条件式) ? (真式) : (偽式);

こういうのができると、コーディングの効率も早いし、シンプルでわかりやすくできそうですね。

動画のサンプルコードはこうでした。

<?php
    $x = -400;
    
    if($x > 0){
        if($x % 2 === 0){
            echo '正の偶数';
        } else{
            echo '正の奇数';
        }
    } else if ($x < 0){
        if($x % 2 === 0){
            echo '負の偶数だよ';
        } else{
            echo '負の奇数だよ';
        }
    } else {
        echo 'ゼロだよ';
    }
?>

こちらはWeb万屋エンジニアチャンネルで紹介されていた、if文をわかりやすく解説するためのサンプルコードですので、これはこれでとても参考になると思います。

そのうえで、こっぷさんが教えてくれた三項演算子を利用したシンプルなコードは以下のとおりです。

<?php
    $x = 400;
    
    if ($x === 0){
        echo "ゼロだよ";
    } else{
        $y = $x > 0 ? "正の" : "負の";
        $z = $x % 2 === 0 ? "偶数だよ" : "奇数だよ";
        
        echo $y . $z;
    }
?>

こっぷさんのコードは短くてシンプルで読みやすいですね。

いろんなコードの書き方があるんですね、とても勉強になりました。

こっぷさん、いつもご指導ありがとうございますm(_ _)m

まとめ 【PHP】if文を一行にする方法【三項演算子とは?】超見やすい

【PHP】if文を一行にする方法【三項演算子とは?】

if文は三項演算子を利用するとシンプルな読みやすいコードにできることがわかりました。

三項演算子とは、

(条件式) ? (真式) : (偽式);

で記述することができます。

プログラミング初心者にはちょっとハイレベルなお話で、わたしもいまだにピンと来ていないところもありますが、下記のコードを読み比べると、その違いがわかってくると思います。当然ながら、echoされる結果は同じになりますので、とても勉強になりますね。

<?php
    $x = -400;
    
    if($x > 0){
        if($x % 2 === 0){
            echo '正の偶数';
        } else{
            echo '正の奇数';
        }
    } else if ($x < 0){
        if($x % 2 === 0){
            echo '負の偶数だよ';
        } else{
            echo '負の奇数だよ';
        }
    } else {
        echo 'ゼロだよ';
    }
?>
<?php
    $x = 400;
    
    if ($x === 0){
        echo "ゼロだよ";
    } else{
        $y = $x > 0 ? "正の" : "負の";
        $z = $x % 2 === 0 ? "偶数だよ" : "奇数だよ";
        
        echo $y . $z;
    }
?>

三項演算子についてのもっと詳しい解説は下記よりご確認ください。

すぐに覚えられる!PHPで三項演算子を使う方法【初心者向け】

もうプログラミング独学が限界だ!もっと本格的なプログラミング学習がしたいって方は、プログラミングスクールの無料体験を受けてみましょう!



【無料体験】プログラミングスクールのTechAcademy 詳しくはコチラ

以上、【PHP】if文を一行にする方法【三項演算子とは?】超見やすいでした!



最後まで記事をお読みいただき、ありがとうございました!

リンクフリーなので、記事はお気軽にシェアして下さい(/・ω・)/


よろしければ以下のコメント欄に感想などお寄せくださいm(__)m
今後のブログ運営の参考にさせていただきます!









-プログラミング

Copyright© メダカ皇帝のブログ【毎日更新中】 , 2020 All Rights Reserved.