change($this); } } class cl2 { var $ref; function change(&$obj) { $this->ref = &$obj; $this->ref->test = 'b'; } function change_new() { $this->ref->test = 'c'; } } $testobj = new cl1(); echo $testobj->test; // echoes 'b' // note: it works when if call $test2->change($testobj); here $test2->change_new(); // echoes 'b' (not c)!!? echo $testobj->test; ?>