Mailinglisten-Archive |
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