## 如何在 PHP 中實作遞歸匿名函數?

Mary-Kate Olsen
發布: 2024-10-25 07:54:29
原創
281 人瀏覽過

## How Can You Implement Recursive Anonymous Functions in PHP?

PHP 中的匿名遞歸函數

在PHP 中,匿名函數(也稱為lambda 函數)的概念提供了一種便捷的方式來定義內聯函數無需指定正式名稱。然而,當涉及到遞歸時,匿名函數面臨著獨特的挑戰。

問題:

當嘗試建立遞歸匿名函數時,可能會出現函數名稱未正確傳遞到遞歸中。出現此問題的原因是,與具有已定義名稱的常規函數不同,匿名函數缺少對自身的參考。

解決方案:

要解決此問題,您需要透過匿名函數作為 use 語句中的引用。這可以透過在函數名稱前面加上與號(&) 來實現,如下列程式碼所示:

<code class="php">$factorial = function( $n ) use ( &amp;$factorial ) {
    if( $n <= 1 ) return 1;
    return $factorial( $n - 1 ) * $n;
};

print $factorial( 5 ); // Output: 120</code>
登入後複製

透過傳遞匿名函數作為引用,您可以在遞歸呼叫和原始函數定義,允許它存取自己的內部狀態。這使得遞歸能夠按預期運行,並且您可以成功計算階乘值。

以上是## 如何在 PHP 中實作遞歸匿名函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!