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 變數的預設值,它在嘗試執行該函數之前檢查該函數是否可呼叫。
以上是PHP 5.3 中的 ?: 運算子是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!