<?php function reverse($string) { reverse($string); //tu powinno byc reverse(substr($string, 1)); return; } reverse("Hello"); ?>
Otóż przy próbie odpalenia tego z localhost (Apache2 na Ubuntu 7.4 z PHP w wersji 5.2.1, skrypt uruchamiany za pomocą przeglądarki Firefox 2.0) zamiast wyświetlić skrypt pojawia się... okienko pobierania pliku. Dlaczego? Myślałem początkowo, że to efekt wywołania nieskończonej rekurencji jednak przy próbie uruchomienia innej, też nieskończonej, rekurencji (przedstawionej poniżej) skrypt wykonuje się a wyniki zostają wyświetlone (maksymalna wyświetlona wartość to 18271). Dlaczego tak się dzieje?
<?php function rekurencja() { rekurencja(); return; } rekurencja("Hello"); ?>