Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rekurencja obiektowo
sebo33
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.12.2016

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


Witam,
Nie wiem czy wybrałem dobre miejsce i czy w odpowiedni sposób zamieściłem nowy temat, gdyż dopiero co dołączyłem. Mój temat będzie raczej błahy ale już nie mam pojęcia jak to naprawić.
Mój problem polega na tym, że moja rekurencja obliczająca silnię w żaden sposób nie chce się wywołać, być może źle to robię w obiektowym php.
Funkcja ma być prywatna i nie mieć parametrów, myślę że tyle kodu starczy bo tu powinien być błąd, a ja tylko źle wywołuję tę funkcję. Jeśli w kodzie napiszę:
Kod
$this->SilniaRekurencja
to wyświetla mi się błąd: Fatal error: Maximum function nesting level of '256' reached, aborting!

Kod
private function SilniaRekurencja()
{
  if($this->argument>1)
    {
     $r=$this->argument*($this->argument-1);
     SilniaRekurencja();
     return $r;
    }
    else
    {
     return 1;
    }

A w takim układzie jak powyżej wyświetla mi błąd: Fatal error: Call to undefined function SilniaRekurencja()
Mogę prosić o poprawienie tego? Jak trzeba wrzucę cały kod, choć sądzę że nie jest potrzebny.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sebo33
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.12.2016

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


Tak myślałem, że $this->SilniaRekurencja(), a ta rekurencja nie chce się zakończyć ale szczerze zgłupiałem bo pierwszy raz nie mogę zrobić tej rekurencji.
Mógłbyś mi bardziej łopatologicznie podpowiedzieć jak sprawić, żeby się nie zapętlał bo w żaden sposób nie mogę tego zrobić. Może w zły sposób myślę tym razem.
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 19:22