匿名再帰 PHP 関数: わかりやすく解説
PHP 開発の領域では、匿名再帰関数の作成に関する問題がよく発生します。匿名関数は本質的に、専用の名前を持たないクロージャであり、別の関数の本体内で定義されます。一方、再帰は、関数が独自の定義内でそれ自体を呼び出し、複雑な問題の反復的な解決を可能にする手法です。
匿名の再帰関数でのこの試みを考えてみましょう:
<code class="php">$factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 );</code>
ただし、お気づきのとおり、この実装では再帰呼び出しに関数名を渡すことができません。この問題を修正するために、匿名関数を参照渡しするという概念を導入します。
<code class="php">$factorial = function( $n ) use ( &$factorial ) { if( $n == 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 );</code>
変数 $factorial を参照渡しする (つまり、& 記号を使用する) ことで、匿名関数が元の変数の値にアクセスし、それに応じて変更できます。これにより、匿名関数内での再帰呼び出しの成功が可能になり、PHP 開発における興味深い可能性への道が開かれます。
以上が## PHP で匿名再帰関数を実現するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。