* Thus wrote Erik Franzn: > $oObjectB[$i] = &$oObjectA[$i]; > > The above statement does not matter, because in PHP5 "objects are > referenced by handle, and not by value".
This is not true. PHP 5 passes objects by reference to functions only. Assignments are treated the same way as php4 externally. <?php /* note: no &$f */ function testfoo($f) { $f->foo = 'testfoo'; } class foo { public $foo; } /* object is passed by reference */ $a = new foo(); $a->foo = 'main'; testfoo($a); var_dump($a); /* ->foo == 'testfoo' */ /* variable is only copied */ $b = $a; $a = null; var_dump($a); /* NULL */ var_dump($b); /* Object 1 */ /* make 2 reference but remove one of them */ $a = new foo(); $b = &$a; unset($a); /* only removes the reference to object #1 */ var_dump($a); /* Undefined */ var_dump($b); /* Object #1 */ /* here is your solution */ /* make 2 references but delete object, 2 variable * references still exits */ $a = new foo(); $b = &$a; $a = null; var_dump($a); /* NULL */ var_dump($b); /* NULL */ /* proof that references still exists */ $b = new foo(); var_dump($a); /* Object #1 */ var_dump($b); /* Object #1 */ Curt -- First, let me assure you that this is not one of those shady pyramid schemes you've been hearing about. No, sir. Our model is the trapezoid! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php