Bolehkah Fungsi PHP Menjadi Tanpa Nama secara Rekursif?
Dalam PHP, kemungkinan mencipta fungsi yang bersifat rekursif dan tanpa nama telah membingungkan pengaturcara. Soalan ini timbul kerana penggunaan biasa nama fungsi untuk rekursi. Walau bagaimanapun, seperti yang ditunjukkan oleh contoh yang diberikan, fungsi tanpa nama rekursif sememangnya boleh dilaksanakan dalam PHP.
Kod yang disediakan, cuba mengira pemfaktoran nombor menggunakan rekursi dalam fungsi tanpa nama, menghadapi cabaran apabila menghantar masuk nama fungsi. Untuk menyelesaikan masalah ini, adalah penting untuk lulus fungsi sebagai rujukan. Dengan menambahkan ampersand (&) sebelum $factorial dalam pernyataan penggunaan, fungsi itu sendiri tersedia dalam fungsi tanpa nama.
Berikut ialah kod yang diubah suai:
<code class="php">$factorial = function( $n ) use ( &$factorial ) { if( $n == 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 );</code>
Dengan pengubahsuaian ini, function $factorial kini boleh merujuk dirinya sendiri secara rekursif, membenarkan pengiraan faktorial yang diingini berfungsi dengan betul.
Atas ialah kandungan terperinci ## Bolehkah Fungsi PHP Menjadi Tanpa Nama Secara Rekursif? Menyelam Mendalam ke dalam Rujukan Fungsi dan Rekursi.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!