PHPでifを使わずに簡単に書く方法はないの?
こんにちは、はるです。
そんな悩みを解決していきます。
同じクラスの人が使っていて、初めて見たとき意味不明だったので、メモとして残しておきます。
目次
結論、三項演算子を使う
私が見たコードが下記です。
($gender ? 'さん' : 'くん');
事前に $gender に値を入れておいて、
- TRUE だったら ‘さん’
- FALSE だったら ‘くん’
となります。
つまり、$genderに 、
- 「’ ‘」 や 「’0’」 などのFALSEとなる値を入れておくと ‘くん’
- それ以外の数や文字だと ‘さん’
になるということです。
※「” “」 と 「”0″」 の場合は、FALSE判定になりませんでした。
「” “」だとダメなのかもしれません(よく理解してない)
別の書き方
調べてみると、下記のような書き方が多かったです。
(条件式) ? 'TRUEの場合' : 'FALSEの場合';
例
$val = ($age >= 20)? '成人です。' : '未成年です。';
参考・引用:PHPの三項演算子で一行で簡単に条件分岐
メリット
メリットは、ごちゃごちゃしないことです。
1行で収まるので、見やすいですしシンプルなのがいいですね。
デメリット
デメリットは、
- ぱっと見よくわからない
- 複雑な条件式だとわかりにくくなりそう
の2点ですかね。
「:」だけで区切られているので、シンプルであるけど、見にくい感じですね。
まとめ
結論
- ifを1回だけ使うなら、三項演算子を使う
- 複雑な式ならifを使う
ご覧いただきありがとうございました(/・ω・)/
他にもプログラミングについての記事を書いてるので、ぜひ参考にしてみてください。
コメント