ホーム > PHPの文法 > 4 演算子 > PHP の 三項演算子(条件演算子)
PHPリファレンス

UPDATE:2020年07月10日

PHP の 三項演算子(条件演算子)

PHP の 三項演算子(条件演算子) | wepicks!
PHP4 PHP5 PHP7

1 Minute Note

? : 三項演算子(条件演算子)
  • (条件式) ? 真の場合の式 : 偽の場合の式;
  • 式に対して式を評価する

条件式 ? 真の場合の式 : 偽の場合の式 ;

三項演算子 は PHP で唯一3つの演算対象の値がある演算子です。条件式が真の場合と偽の場合の何れかの結果を返えす条件分岐を行います。

三項演算子とは

POINT

  • (条件式) ? 真の場合の式 : 偽の場合の式;
  • 式に対して式を評価する

三項演算子(条件演算子) はオペランド(演算子の対象となる値)を3つ使用するPHP唯一の条件演算子です「1つ目の式 ? 2つ目の式 : 3つ目の式 ;」。三項演算子「 ? : 」は「 ? 」の左辺の式を評価し、結果が「真(TRUE)」の場合は「:」の左辺の式の値を返し、「偽(FALSE)」の場合は「:」の右辺の式の値を返します。式に対して式を評価します。

PHPの 式 とは 値があるもの のことです。最も 簡単な式 は リテラル値/定数/変数です。例えば、1 とは 1 という値を持つ式 となります。一方で、 1 + 2 というような式は + という算術演算子を使用した複雑な式になります。
PHPの式についてはこちらを参照下さい。
条件演算子の詳細は制御文の条件演算子を参照下さい。
演算子名前優先順位結合時の評価結果
? :三項演算子
条件演算子
1left$a ? $b : $c$a が TRUE の場合に $b FALSE の場合に $c。

条件式 (1) は「真」と評価されます。「?」の式の値を返します。

結果は

TRUE

となります。

条件式 (1) のように、PHP では、関数や演算子、制御構造(条件文など)などのが 論理型 の引数を必要とする場合があります。例えば、or や and などの論理演算子、if文 などの 制御構造(条件文など) などです。三項演算子の式もその1つです。(1) の括弧内は論理型の値を必要とします。その際、多くのケースで値は自動的に論理型に変換(キャスト)されます。論理型に変換される場合、以下の値はすべて FALSE と見なされます。それら以外は TRUE と見なされます。ですので、数字の 1 は 真(TRUE) と見なされます。

  • 表示なし
  • キーワード FALSE
  • 整数 0 と -0
  • 浮動小数点 0.0 と -0.0
  • 空の文字列 "" や ''
  • 文字列としての0 "0"
  • 要素数が 0 の配列 $aValue= array();
  • プロパティーはメソッドを含まない空のオブジェクト
  • NULL値
  • 値が定義されていない変数

条件式 (1 == 1) は「真」と評価されます。「?」の式の値を返します。

結果は

TRUE

となります。

条件式 (1 == 2) は「偽」と評価されます。「:」の式の値を返します。

結果は

FALSE

となります。

条件式 ($a === $b) は「真」と評価されます。「?」の式の値を返します。

結果は

100

となります。

フォームを利用した問題形式の例

フォームを利用し、漢字の読みの問題を 条件演算子 を使用して作成したサンプルです。
– サンプル Click Here ! –

question.php

answer.php

サンプルコード

実行結果
条件演算子(三項演算子)
TRUE
TRUE
FALSE
100

– サンプル Click Here ! –

フォームを利用した問題形式の例

フォームを利用し、漢字の読みの問題を 条件演算子 を使用して作成したサンプルです。

question.php

answer.php

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

公開日:2017年3月21日
最終更新日:2020年07月10日

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpref-operators_if/trackback/

page top