string(3) "Foo" string(6) "FooBar" string(9) "FooBarBaz" ===ArrayOverloading=== ArrayProxy::__construct(0) object(ArrayProxy)#1 (2) { ["object":"ArrayProxy":private]=> object(Peoples)#2 (1) { ["person"]=> array(1) { [0]=> array(1) { ["name"]=> string(3) "Foo" } } } ["element":"ArrayProxy":private]=> int(0) } ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) string(3) "Foo" ArrayProxy::__construct(0) ArrayProxy::offsetSet(0, name, FooBar) ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) string(6) "FooBar" ArrayProxy::__construct(0) ArrayProxy::offsetSet(0, name, FooBarBar) ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) string(9) "FooBarBar" ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) ArrayProxy::offsetSet(0, name, FooBarBarBaz) ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) string(12) "FooBarBarBaz" ArrayProxy::__construct(0) ArrayProxy::offsetUnset(0, name) ArrayProxy::__construct(0) object(ArrayProxy)#1 (2) { ["object":"ArrayProxy":private]=> object(Peoples)#2 (1) { ["person"]=> array(1) { [0]=> array(0) { } } } ["element":"ArrayProxy":private]=> int(0) } ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) NULL ArrayProxy::__construct(0) ArrayProxy::offsetSet(0, name, BlaBla) ArrayProxy::__construct(0) ArrayProxy::offsetGet(0, name) string(6) "BlaBla"