|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2002-06-11 09:25 UTC] mfischer@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 05:00:01 2025 UTC |
<? class A { var $var_a; function A() { $this->set_a("old"); } function set_a($a) { $this->var_a=$a; } } class B { var $obj_a; function B() { $this->obj_a=new A; } } $my=new B; var_dump($my); $my->obj_a->set_a("new"); var_dump($my); ?> I create new object from class B ($my) variable $obj_a in object $my IS OBJECT from class A. var_dump($my) return object(b)(1) { ["obj_a"]=> object(a)(1) { ["var_a"]=> string(3) "old" } } It's ok. After that I call a method from class A $my->obj_a->set_a("new"); This method change variable $var_a, but after that variable $obj_a IS REFERENCE to object A var_dump($my) return : object(b)(1) { ["obj_a"]=> &object(a)(1) { ["var_a"]=> string(3) "new" } } $obj_a was object, but now $obj_a is reference to object.