Rumah >pembangunan bahagian belakang >tutorial php >## Bagaimana Anda Boleh Melaksanakan Fungsi Tanpa Nama Rekursif dalam PHP?
Fungsi Rekursif Tanpa Nama dalam PHP
Dalam PHP, konsep fungsi tanpa nama, juga dikenali sebagai fungsi lambda, menawarkan cara yang mudah untuk menentukan berfungsi sebaris tanpa menyatakan nama rasmi. Walau bagaimanapun, apabila ia berkaitan dengan rekursi, fungsi tanpa nama menghadapi cabaran yang unik.
Isunya:
Apabila cuba mencipta fungsi tanpa nama rekursif, nampaknya nama fungsi tidak dihantar ke rekursi dengan betul. Isu ini timbul kerana, tidak seperti fungsi biasa dengan nama yang ditentukan, fungsi tanpa nama tidak mempunyai rujukan kepada diri mereka sendiri.
Penyelesaian:
Untuk menyelesaikan isu ini, anda perlu lulus fungsi tanpa nama sebagai rujukan dalam pernyataan penggunaan. Ini boleh dicapai dengan menambahkan ampersand (&) sebelum nama fungsi, seperti yang ditunjukkan dalam kod berikut:
<code class="php">$factorial = function( $n ) use ( &$factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 ); // Output: 120</code>
Dengan menghantar fungsi tanpa nama sebagai rujukan, anda mewujudkan sambungan antara panggilan rekursif dan definisi fungsi asal, membenarkannya mengakses keadaan dalamannya sendiri. Ini membolehkan rekursi berfungsi seperti yang dijangkakan dan anda boleh berjaya mengira nilai faktorial.
Atas ialah kandungan terperinci ## Bagaimana Anda Boleh Melaksanakan Fungsi Tanpa Nama Rekursif dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!