phpbar.de logo

Mailinglisten-Archive

[php] print_r und rekursion

[php] print_r und rekursion

Andreas Demmer andreas at phpbar.de
Mit Aug 20 23:13:37 CEST 2003


Kai Meder schrieb:

> pseudeocode:
> 
> class a
> {
> var stack = array();
> 
> function a()
>     {
>     $this->stack[] = new b($this);
>     $this->stack[] = new b($this);
>     $this->stack[] = new b($this);
>     $this->stack[] = new b($this);
>     $this->stack[] = new b($this);
>     }
> }
> 
> class b
> {
> var $parent;
> 
> function b(&$parent)
>     {
>     $this->parent =& $parent;
>     }
> }
> 
> wenn man das nun mit print_r versucht darzustellen kommt es
> logischerweise unweigerlich zu einem *RECURSION* 
> 
> meine frage ist jedoch, wie php das intern handhabt ?
> existiert diese "rekursion" auch intern oder tritt die erst bei einer
> rekursiven ausgabe auf ? sprich killt solch ein vorgehen den parser ?

Die Antwort hast Du Dir selbst gegeben:

> habe eine verständnisfrage zu den referenzen ...

PHP verwaltet dies halt als Referenzen, erst ein print_r versucht
die Referenzen abzubilden, in dem sie ihnen "nachgeht". Dabei kommt
es zur beobachteten Rekursion.

> kind of offtopic: ist es schlechter stil mit solchen verschachtelten
> referenzen zu arbeiten oder völlig legitim ? 

Kommt ganz auf den Fall an...

Gruss,
Andreas



php::bar PHP Wiki   -   Listenarchive