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

[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プラグイン Facebook php 引っ越し お知らせ JavaScript CSS カテゴリー Shareボタン IE 投稿タイプ seo Photoshop HTML5 レスポンシブ サイドバー ナビゲーション タクソノミー WPセキュリティ Git カスタムメニュー Macアプリ PHPリファレンス SVG query_posts API WP使い方 iTunes データベース コメント function RSS 条件分岐 get_posts() スマートフォン Sass/Compass マルチサイト機能