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