Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rekurencja + OOP
barcin
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.01.2006

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


Witam szanownych forumowiczów,

mam pytanie czy php w wersji 4.x obluguje rekrurencyjne wywoływanie metod? Szukalem na php.net i w googlach, ale znalazlem tylko "niby" dzialajcy kod dla php 5.

Moj problem polega na tym, ze jak mam klase

  1. <?php
  2. class Toolbox
  3. {
  4. function SearchInArray($search,$array)
  5. {
  6. //jakis tam kod
  7. //chce wywolac metode
  8. this->SearchInArray($d,$e);
  9.  }
  10. }
  11. ?>


to dostaje błąd:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /tools/toolbox.php on line 20

Będe wdzięczny za pomoc,

Pozdrawiam,

barcin
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


pewnie ze działa, szybki bananalny test:

  1. <?php
  2. class RecTest
  3. {
  4. var $maxVal = 5;
  5. var $curVal = 0;
  6.  
  7. function RecTest() {}
  8.  
  9. function RunRec()
  10. {
  11. if ($this->curVal == $this->maxVal)
  12. {  
  13. echo 'Koniec rekurencji';
  14. return;
  15. }
  16.  
  17. $this->curVal++;
  18. echo 'Rekurencyjnie zwiekszylem $this->curVal do '.$this->curVal.'<br>';
  19. $this->RunRec();
  20. }
  21. }
  22.  
  23. $c = new RecTest;
  24. $c->RunRec();
  25. ?>


wynik:
Kod
Rekurencyjnie zwiekszylem $this->curVal do 1
Rekurencyjnie zwiekszylem $this->curVal do 2
Rekurencyjnie zwiekszylem $this->curVal do 3
Rekurencyjnie zwiekszylem $this->curVal do 4
Rekurencyjnie zwiekszylem $this->curVal do 5
Koniec rekurencji

musisz miec inny bład w kodzie, bo zakladam że brak $ tu
  1. <?php
  2. this->SearchInArray($d,$e);
  3. ?>
to literówka :)

pozdr.
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: 11.10.2025 - 07:53