これはPHP 三項演算子 (条件演算子とも呼ばれます)-第1オペランドがtrueの場合、第2オペランドとして評価され、それ以外の場合は第3オペランドとして評価されます。
式で使用できる「if」ステートメントと考えてください。ある条件に依存する簡潔な割り当てを行うのに非常に役立ちます。
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
これの簡略版もあります(PHP 5.3以降)。中間のオペランドは省略できます。演算子は、真の場合は第1オペランド、それ以外の場合は第3オペランドとして評価されます。例:
$result = $x ?: 'default';
つまり、$ _ GETまたは$ _POST変数を使用する場合、上記のコードは未定義のインデックス通知をスローし、isset
または null合体演算子を使用して、より長いバージョンを使用する必要がないことを言及する価値があります PHP7で導入されました:
$param = $_GET['param'] ?? 'default';
If-else演算子の三項形式です。上記のステートメントは基本的に次のようになります。
if ($add_review) then {
return FALSE; //$add_review evaluated as True
} else {
return $arg //$add_review evaluated as False
}
PHPの三項演算の詳細については、こちらを参照してください。 http://www.addedbytes.com/php/ternary-conditionals/