首頁  >  文章  >  後端開發  >  PHP 5.3 中的 ?: 運算子是什麼?

PHP 5.3 中的 ?: 運算子是什麼?

DDD
DDD原創
2024-10-19 12:52:02488瀏覽

What's the ?: Operator in PHP 5.3?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn