三項演算子でif文を一行にする方法とは?
プログラミング学習を頑張っています。学習の過程はツイッターに随時アップしていますが、先日はこんなツイートをしました。
#プログラミング学習
— めだか☆皇帝@セールス系Webライター💎SEOコンサル (@MEDAKAKOUTEI) September 29, 2020
いろんなプログラムを
模写してみて
体験的に理解しないと
ダメだな、こりゃ😅
}の位置ってきれいに揃ってないと
ダメなんですね。。。#PHP#プログラミング#プログラミング独学#プログラミング初心者 pic.twitter.com/dCgYpeMhqn
上記のサンプルコードはプログラミング学習のYouTubeチャンネル『Web万屋エンジニアチャンネル』の例題のコードです。if-else文ですね。
Web万屋エンジニアチャンネル
とってもわかやすい解説で有益ですので、プログラミング初心者の方はぜひ参考にしてください。
下記の動画はPHPを網羅的に解説した有益な動画です。
この動画内でif-else文の解説があり、そのサンプルコードがさきほどのツイート内容です。
if-else文の解説部分はこちらです。
サンプルのコードはこんな感じでしたので、それを模写してツイートものが先ほどのコードです。
-400をxに代入したら、もし$xが0以上であり、もし2で割った余りがゼロだったら正の偶数で、そうでなかったら正の奇数、もし$xが0以下であり、もし2で割った余りがゼロだったら負の偶数で、そうでなかったら負の奇数、いずれの場合でもなかったらゼロだよ。
って感じのコードです。$xに代入している-400を400にしたら、正の偶数、401にしたら正の奇数、-345にしたら負の奇数、0にしたらゼロだよになります。
if-else文を理解するのに良い例文だと思いますので、ぜひ参考にしてくださいね!
if文はいろいろな記述ができる
そんなツイートをしたところ、いつもお世話になっているこっぷさん(@prgkop)から、こんなリプをいただきました。
そうですね
— こっぷ@ぷろぐらむルーム (@prgkop) September 29, 2020
このままだと
17行目のelseがわかりづらいです
バグの元になります
おお、なるほど!と言えないのが、プログラミング初心者の悲しいところ。
親切なこっぷさんのアドバイスをほとんど理解できないわたし。
もう何がなんだかわからなすぎて聞いちゃいました。
そうなんですね😮
— めだか☆皇帝@セールス系Webライター💎SEOコンサル (@MEDAKAKOUTEI) September 29, 2020
すみません、こっぷさんなら
どう書くのでしょうか?
するとこんなお返事をいただきました!
こんな感じでしょうか
— こっぷ@ぷろぐらむルーム (@prgkop) September 29, 2020
実行環境がないので動作確認はしていないですw
さらにやろうとしたら、
偶数、奇数の判定部分は1つにできますね pic.twitter.com/2Js9tqb4or
え?偶数、奇数の判定部分は1つにできます?どういうことヽ(=´▽`=)ノ
三項演算子とは?
それを聞いて、さっそくネットでどうやったら良いかを調べて、こんな感じで返信させていただきました。
@prgkopさん
— めだか☆皇帝@セールス系Webライター💎SEOコンサル (@MEDAKAKOUTEI) September 29, 2020
個人レッスンありがとうございます🙇♂️
一行にするとはこういうことでしょうか?
一応エラーなく動いているっぽいけど
正解なのかわからんw#PHP #if文を一行にする#プログラミング学習 pic.twitter.com/90tbvNcXLH
すでにわたしはもうちんぷんかんぷん。ついていくのがやっとなんですけど、するとさらにこっぷさんは、
3項演算子知っているなら
— こっぷ@ぷろぐらむルーム (@prgkop) September 29, 2020
これでどうでしょうか? pic.twitter.com/jeKOAZM0z6
三項演算子???
三項演算子とは?
三項演算子とは、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文を一行にする方法【三項演算子とは?】超見やすい
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文を一行にする方法【三項演算子とは?】超見やすいでした!