PHP 5.3 の ?: 演算子
PHP 5.3 では、以前に使用できた条件演算子の圧縮形式である ?: 演算子が導入されました。 。元々、条件演算子は次の形式を取りました:
expr ? val_if_true : val_if_false
PHP 5.3 では、?: 構文につながる中間部分を省略できます。これは次と同等です:
expr ? expr : val_if_false
たとえば、次のコードは変数 $c が呼び出し可能かどうかをチェックします。そうでない場合は、例外がスローされます:
require __DIR__.'/c.php'; if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; })) throw new Exception('Error'); $c();
PHP 5.3 の匿名関数
?: 演算子とともに、PHP 5.3 では匿名関数も導入されました。質問とは裏腹に、匿名関数はしばらく存在していませんでした。これらは PHP 5.3 の新機能でした。匿名関数は名前なしで作成され、通常はコールバックとして、または他の関数への引数として使用されます。
上の例では、匿名関数は変数 $c に割り当てられます。パラメータはなく、「Woah!」と出力されます。呼ばれたとき。この匿名関数は $c 変数のデフォルト値として使用され、関数を実行する前に関数が呼び出し可能かどうかをチェックします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3