となるのでしょうか?:PHP5.3?[重複]
-
23-09-2019 - |
質問
<?PHP
require __DIR__.'/c.php';
if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))
throw new Exception('Error');
$c();
?>
Twitto複数の新機能としてのPHP5.3:
- の DIR 一定の
- の?:オペレーター
- 匿名機能
ものは何か-2の ?: PHP5.3?
また、会が与えられ匿名性能におい思う存在してきた。
解決
?:
は、条件付きのオペレーターをしてきましたが、今回として、
expr ? val_if_true : val_if_false
5.3できている、中部、 expr ?: val_if_false
に相当する:
expr ? expr : val_if_false
から マニュアル:
以来、PHP5.3できている、中部の条件とします。表現
expr1 ?: expr3
を返しますexpr1
の場合expr1
評価TRUE
, は、expr3
します。
他のヒント
の ?:
オペレーターの 条件付きのオペレーター (しばしばあると考としては、複オペレータ):
表現
(expr1) ? (expr2) : (expr3)
評価expr2
の場合expr1
評価 TRUE, は、expr3
の場合expr1
評価 FALSE.
の場合:
expr1 ?: expr2
の発現を評価し、価値の expr1
の場合 expr1
は true や expr2
それ以外の場合:
以来、PHP5.3できている、中間部には、複ります。表現
expr1 ?: expr3
を返しますexpr1
の場合expr1
評価 TRUE, は、expr3
します。
以来、PHP5.3できている、中間部には、複ります。表現expr1?:expr3を返しますexpr1がexpr1に評価し、expr3ます。
匿名機能 れなかった 前5.3.0 (最初の注意以下の例では、少なくともこのように:
function ($arg) { /* func body */ }
みた create_function()
, が遅くなり、非常に煩雑なエラーが自分で出している文字列を使用関数定義).