[PHP] 三項演算子の書き方などについて

PHPの調べ物をしていたら見慣れないif文の書き方に遭遇しました。三項演算子というものだったのですが、忘れそうなので書き方や注意点についてメモです。
PHP: 比較演算子 – Manual

書き方と例

基本的な書き方

[条件] ? [条件に当てはまる時の値] : [当てはまらない時の値]

書き方の例

例1)$a の 値が5より小さい場合は $data にtrue。それ以外は false を入れる。

$data = ($a > 5) ? true : false ;

例2)$a の値が5の時に $a に1を足す。それ以外はそのまま。その値を $data へ入れる。

$data = ($a == 5) ? ++$a : $a ;

注意点

if文の省略系の書き方と思ったのですが、結果を返すのみで処理をするわけではないので演算子という形のようです。

if..elseの構文ににていますが、if文とは異なり三項演算子は演算子の1つですので結果として式を返します。if文のように条件に応じた処理を記述するのではない点に注意して下さい。
三項演算子 – 条件分岐 – PHP入門

振る舞いがわかりにくくなるため入れ子にして使うのは避けた方がよいようです。

三項演算子を “積み重ねて” 使用することは避けましょう。 ひとつの文の中で複数の三項演算子を使用した際の PHP の振る舞いは、 少々わかりにくいものです。
PHP: 比較演算子 – Manual

コーディング規約で禁止されることもあるんですね。個人的には見慣れなくて理解しにくい印象ですが…。

PHP – 三項演算子は可読性を落とすか – Qiita [キータ]

三項演算子は true/false を返したりするならシンプルにかけて良いなと思いました。使い慣れないと式などを入れるのはためらってしまうかもしれません…。ひとつの知識としてこういうものがあると覚えておこうと思います。

Related Article

No Comments & Tracbacks

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー トラブル コードサンプル コンテンツ スライドショー jQueryプラグイン php 引っ越し 素材 お知らせ JavaScript Facebook CSS カテゴリー 投稿タイプ IE HTML5 Shareボタン seo レスポンシブ Photoshop タクソノミー ナビゲーション カスタムメニュー Git Macアプリ サイドバー WPセキュリティ SVG iTunes PHPリファレンス API WP使い方 query_posts データベース get_posts() 条件分岐 コメント function RSS スマートフォン Sass/Compass さくらVPS