menu
閉じる
  1. 画面サイズごとにCSSを切り替える!メディアクエリとは?
  2. Photoshopで文字と文字の行間を変える方法
  3. IF文マスター!各プログラミング言語での、IF文の書き方。
  4. スタートアップに使える!HTML5とCSSのテンプレート
閉じる
閉じる
  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で特定のリンクにTargetBlankを付与する方法…

  2. 【Access】SQLで値がNULLの時、別の値に置換えるNZ関…

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

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

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

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

おすすめ記事

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

コメント

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

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

ページ上部へ戻る