menu
閉じる
  1. 画面サイズごとにCSSを切り替える!メディアクエリとは?
  2. IF文マスター!各プログラミング言語での、IF文の書き方。
  3. スタートアップに使える!HTML5とCSSのテンプレート
  4. Photoshopで文字と文字の行間を変える方法
閉じる
閉じる
  1. PHPで三項演算子「?:」を使うとき
  2. jQueryで、検索する前のオブジェクトに戻る方法
  3. FireFoxでリンクをクリックすると表示される謎の線
  4. IF文マスター!各プログラミング言語での、IF文の書き方。
  5. jQueryで特定のリンクにTargetBlankを付与する方法
  6. ウィンドウサイズによって画像のサイズを変えたい!
  7. スタートアップに使える!HTML5とCSSのテンプレート
  8. jQueryでradio / checkbox / select / …
  9. 「Google Fonts + 日本語 早期アクセス」を使ってみた
  10. 【Access】SQLで値がNULLの時、別の値に置換えるNZ関数
閉じる

なるほど!ちきんぷろぐらまーず

PHPで三項演算子「?:」を使うとき

こんにちは。つくねです。

PHPで三項演算子「?:」を使うとき、思ったとおりに出ない!PHPのヤツめ!と思うことがあります。
今日は、そんな三項演算子についてまとめてみました。

重ねて使うと困る

PHPで三項演算子を使うと困る点は、1回に何度も重ねて使う場合です。

上記の例だと、

  • $value が未定義の場合は、$check-nothing-」にならず「-empty-」に
  • $value が0の場合は、$check は「-empty-」に
  • $value が1の場合は、$check は「-exists-」に

なってしまいます。
これは、他の巷の言語と評価順が違うために起こっています。

以下のように、評価順をカッコで指定することで、思うように動いてくれます。

三項演算子の間を省略する書き方 (PHP5.3-)

PHP5.3からは、三項演算子の間を省略することができます。
判定が True の場合には、判定値をそのまま使えます。

null合体三項演算子 (PHP7-)

PHP7からは、null合体演算子というのもあります。
これは、判定が Null の場合に代替値を設定したいときに便利です。
SQLの ISNULL や COALESCE と同じです。また、こちらは重ねがけしても大丈夫です。

最後に

ということで、PHPに取り組んで結構最初につまづいた三項演算子のお話でした。
慣れないうちは、なるべく小さい単位でテストしてみることが大事ですね。

関連記事

  1. jQueryで、検索する前のオブジェクトに戻る方法

  2. jQueryで特定のリンクにTargetBlankを付与する方法…

  3. IF文マスター!各プログラミング言語での、IF文の書き方。

  4. jQueryでradio / checkbox / select…

  5. PHPでエラー『unexpected …』が出たとき…

  6. スタートアップに使える!HTML5とCSSのテンプレート

おすすめ記事

  1. IF文マスター!各プログラミング言語での、IF文の書き方。
  2. スタートアップに使える!HTML5とCSSのテンプレート
  3. Photoshopで文字と文字の行間を変える方法
  4. 画面サイズごとにCSSを切り替える!メディアクエリとは?

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

ページ上部へ戻る