了解 PHP 5.3 ?: 運算子
PHP 5.3 中引入的 ?: 運算子為條件表達式提供了簡潔的語法。它本質上簡化了以前可用的條件運算符:
<code class="php">expr ? val_if_true : val_if_false</code>
現在,使用?: 運算符,您可以省略中間表達式:
<code class="php">expr ?: val_if_false</code>
這相當於:
<code class="php">expr ? expr : val_if_false</code>
例如,下面的程式碼示範了?: 運算子的使用:
<code class="php"><?php require __DIR__.'/c.php'; if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; })) throw new Exception('Error'); $c(); ?></code>
解碼匿名函數
PHP 也引入了這個概念PHP 5.3 的匿名函數。這些函數,有時稱為 lambda 函數,可以即時定義並作為參數傳遞給其他函數。
匿名函數以 Closure 類別的物件存在,可以指派給變數或傳遞直接作為參數。這些函數提供了一種編寫簡短的內聯程式碼區塊的便捷方法,而無需單獨的函數定義。
例如,在提供的範例中:
<code class="php">function() { echo 'Woah!'; }</code>
是一個輸出「的匿名函數」哇! 」當被呼叫時。
以上是PHP 的 ?: 運算子的用途是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!