Hem özyinelemeli hem de anonim bir PHP işlevine sahip olmak mümkün mü? Bu, onu işe alma girişimimdir, ancak işlev adından geçmez.Anonim özyinelemeli PHP fonksiyonları
$factorial = function($n) use ($factorial) {
if($n <= 1) return 1;
return $factorial($n - 1) * $n;
};
print $factorial(5);
Ayrıca bunun, fakültenin uygulanmasının kötü bir yolu olduğunu da biliyorum, bu sadece bir örnek. o iş için Amacıyla
Kontrol etmek için PHP 5.3.0 yok, ama 'global $ factorial' kullanmayı denediniz mi? – kennytm
* (sidenote) * a Lamba, anonim bir fonksiyondur. – Gordon
Lambdalar ve Kapanışlar karşılıklı olarak münhasır değildir. Aslında bazı insanlar bir kapanışın bir kapama (anonim işlev) olması için lambda olması gerektiğine inanırlar. Örneğin, sıraladığınız Python işlevi ilk önce bir ada sahip olmak zorundadır (versiyona bağlı olarak).Çünkü ona ismini veremediğin bir isim vermelisin ve bazıları bunu bir kapanıştan mahrum bırakıyor. –