【PHP】ifを使わずに条件分岐をする

プログラミング

悩む人

PHPでifを使わずに簡単に書く方法はないの?

そんな悩みを解決していきます。

記事の内容

  • 三項演算子を使う
  • メリット
  • デメリット

同じクラスの人が使っていて、初めて見たとき意味不明だったので、メモとして残しておきます。

三項演算子を使う

私が見たコードが下記です。

($gender ? 'さん' : 'くん');

事前に $gender に値を入れておいて、

  • TRUE だったら 'さん'
  • FALSE だったら 'くん'

となります。

つまり、$genderに 、

  • 「' '」 や 「'0'」 などのFALSEとなる値を入れておくと 'くん'
  • それ以外の数や文字だと 'さん'

になるということです。

※「" "」 と 「"0"」 の場合は、FALSE判定になりませんでした。
「" "」だとダメなのかもしれません(よく理解してない)

別の書き方

調べてみると、下記のような書き方が多かったです。

(条件式) ? 'TRUEの場合' : 'FALSEの場合';

$val = ($age >= 20)? '成人です。' : '未成年です。';

参考・引用:PHPの三項演算子で一行で簡単に条件分岐

メリット

個人的なメリットは、ごちゃごちゃしないことです。

1行で収まるので、見やすいですしシンプルなのがいいですね。

デメリット

デメリットは、

  • ぱっと見よくわからない
  • 複雑な条件式だとわかりにくくなりそう

の2点ですかね。

「:」だけで区切られているので、シンプルであるけど、見にくい感じですね。

まとめ

まとめ

結論

  • ifを1回だけ使うなら、三項演算子を使う
  • 複雑な式ならifを使う

ご覧いただきありがとうございました(/・ω・)/

他にもプログラミングについての記事を書いてるので、ぜひご利用くださいませ。

  • hatebu
  • Pocket
  • LINE
  • コピー