Hello PHPers, I'm having some trouble understanding some PHP behaviour. The following example script exhibits the behaviour which I cannot understand. [code] <?php class A { public static $a = 3; function __construct() { //self::$a = $this; //[i] self::$a =& $this; //[ii] } } class B extends A { function __construct() { parent::__construct(); } } class C { var $c; function __construct() { $this->c =& A::$a; } } $c = new C; $b = new B; $cee = new C; var_dump($c->c); // [i] prints object(B), but [ii] prints int 3 var_dump($cee->c); // [i] prints object(B), and [ii] prints object(B) ?> [/code] Why does $c->c print 'int 3' ? I'm nervous to use "self::$a = $this;" because I don't want to be copying the whole object. However, isn't $this just a reference to the object, so "self::$a = $this;" is just copying the reference and not the actual object, right? Thanks in advance ` -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php