Bug #10293: object reference vs. true object function passing problem

From: Date: Wed, 11 Apr 2001 18:58:51 +0000
Subject: Bug #10293: object reference vs. true object function passing problem
Groups: php.dev 
Request: Send a blank email to php-dev+get-51463@lists.php.net to get a copy of this message
From: karkalis@earthling.net Operating system: FreeBSD 4.1 RELEASE PHP version: 4.0.4 PHP Bug Type: Class/Object related Bug description: object reference vs. true object function passing problem here is my script: <?php class Tbug { function add($f) { $this->stuff[] = $f; } function spew() { foreach($this->stuff as $key => $f) echo "stuff is [$f]<BR>"; } } function & addtobug($f, &$bug) { $bug->add($f); return($bug); } // using first choice we have problems, second choice works, why the diff? //$bug = new Tbug(); $bug = &new Tbug(); echo "call1<BR>"; $bug = &addtobug("a", &$bug); echo "call2<BR>"; $bug = &addtobug("b", &$bug); echo "call3<BR>"; $bug = &addtobug("c", &$bug); $bug->spew(); ?> The "work around" is to use the second choice of assigning $bug to the reference of the "new" Object. This does not seem inuitive to me. Why does this code not work otherwise? thanks, tonys. -- Edit Bug report at: http://bugs.php.net/?id=10293&edit=1

« previous php.dev (#51463) next »