Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rekurencja w PHP5, problem
Moby04
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.07.2007

Ostrzeżenie: (0%)
-----


Mam pewien problem z dość banalnym skryptem PHP operującym na stringu. Sam skrypt w obecnej postaci jest wprawdzie całkowicie bezużyteczny i wiem, jak to naprawić (patrz: komentarz) jednak przy uruchomieniu tego w takiej postaci przeglądarka zachowuje się bardzo dziwnie:

  1. <?php 
  2. function reverse($string)
  3. {
  4. if(strlen($string)>0)
  5. reverse($string); //tu powinno byc reverse(substr($string, 1));
  6. echo substr($string, 0, 1);
  7. return;
  8. }
  9. reverse("Hello");
  10. ?>


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?

  1. <?php 
  2. function rekurencja()
  3. {
  4. static $i = 1;
  5. echo $i++."<br />n";
  6. rekurencja();
  7. return;
  8. }
  9. rekurencja("Hello");
  10. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- Moby04   rekurencja w PHP5, problem   24.07.2007, 09:07:01
- - sticker   ad 1 nie mam pojęcia ad 2 to może być wina apacha ...   24.07.2007, 09:35:57
- - Moby04   ^up^ Dzieki za odpowiedz   26.07.2007, 07:58:43


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:13