質問

重複の可能性:
簡単なPHP構文の質問

return $add_review ? FALSE : $arg;

疑問符とコロンは何を意味しますか?

ありがとう

役に立ちましたか?

解決

これがPHPです 三項演算子 (条件演算子とも呼ばれます) - 最初のオペランドが true と評価される場合は 2 番目のオペランドとして評価され、それ以外の場合は 3 番目のオペランドとして評価されます。

これは、式で使用できる「if」ステートメントと考えてください。何らかの条件に依存する簡潔な割り当てを行う場合に非常に役立ちます。

$param = isset($_GET['param']) ? $_GET['param'] : 'default';

これの短縮版もあります (PHP 5.3 以降)。中間のオペランドは省略できます。演算子は、true の場合は 1 番目のオペランドとして評価され、そうでない場合は 3 番目のオペランドとして評価されます。例えば:

$result = $x ?: 'default';

上記のコードは、ie を使用する場合に言及する価値があります。$_GET または $_POST 変数は未定義のインデックス通知をスローします。これを防ぐために、より長いバージョンを使用する必要があります。 isset または null 合体演算子 これは PHP7 で導入されました。

$param = $_GET['param'] ?? 'default';

他のヒント

これは、if-else 演算子の 3 項形式です。上記のステートメントは基本的に次のようになります。

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/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top