Test begin === C === C::C 3 0 object(C)#1 (7) { ["np":"C":private]=> string(4) "C::C" ["nq":protected]=> string(4) "C::C" ["nr"]=> string(4) "C::C" ["p":"C":private]=> int(1) ["q":protected]=> int(2) ["r"]=> int(3) ["s"]=> int(0) } Properties: "\0C\0np" => C::C "\0*\0nq" => C::C "nr" => C::C "\0C\0p" => 1 "\0*\0q" => 2 "r" => 3 "s" => 0 object(C)#1 (7) { ["np":"C":private]=> string(4) "C::E" ["nq":protected]=> string(4) "C::E" ["nr"]=> string(4) "C::E" ["p":"C":private]=> int(3) ["q":protected]=> int(4) ["r"]=> int(5) ["s"]=> int(2) } Properties: "\0C\0np" => C::E "\0*\0nq" => C::E "nr" => C::E "\0C\0p" => 3 "\0*\0q" => 4 "r" => 5 "s" => 2 === D === D::D 33 0 object(D)#2 (9) { ["np":"D":private]=> string(4) "D::F" ["nq":protected]=> string(4) "D::H" ["nr"]=> string(4) "D::H" ["p":"D":private]=> int(13) ["q":protected]=> int(26) ["r"]=> int(37) ["np":"C":private]=> string(4) "C::E" ["p":"C":private]=> int(3) ["s"]=> int(2) } Properties: "\0D\0np" => D::F "\0*\0nq" => D::H "nr" => D::H "\0D\0p" => 13 "\0*\0q" => 26 "r" => 37 "\0C\0np" => C::E "\0C\0p" => 3 "s" => 2 === E === E::E 33 0 object(E)#3 (9) { ["np":protected]=> string(4) "E::G" ["nq":protected]=> string(4) "E::I" ["nr"]=> string(4) "E::I" ["p":protected]=> int(13) ["q":protected]=> int(26) ["r"]=> int(37) ["np":"C":private]=> string(4) "C::E" ["p":"C":private]=> int(3) ["s"]=> int(2) } Properties: "\0*\0np" => E::G "\0*\0nq" => E::I "nr" => E::I "\0*\0p" => 13 "\0*\0q" => 26 "r" => 37 "\0C\0np" => C::E "\0C\0p" => 3 "s" => 2 === F === F::F F::F F::F 11 22 33 0 object(F)#4 (9) { ["np"]=> string(4) "F::H" ["nq"]=> string(4) "F::J" ["nr"]=> string(4) "F::J" ["p"]=> int(13) ["q"]=> int(26) ["r"]=> int(37) ["np":"C":private]=> string(4) "C::E" ["p":"C":private]=> int(3) ["s"]=> int(2) } Properties: "np" => F::H "nq" => F::J "nr" => F::J "p" => 13 "q" => 26 "r" => 37 "\0C\0np" => C::E "\0C\0p" => 3 "s" => 2 === G === G::G G::G G::G 111 22 33 0 object(G)#5 (11) { ["np"]=> string(4) "G::I" ["nq"]=> string(4) "G::M" ["nr"]=> string(4) "G::M" ["p"]=> int(113) ["q"]=> int(28) ["r"]=> int(39) ["np":"D":private]=> string(4) "D::F" ["p":"D":private]=> int(13) ["np":"C":private]=> string(4) "C::E" ["p":"C":private]=> int(3) ["s"]=> int(2) } Properties: "np" => G::I "nq" => G::M "nr" => G::M "p" => 113 "q" => 28 "r" => 39 "\0D\0np" => D::F "\0D\0p" => 13 "\0C\0np" => C::E "\0C\0p" => 3 "s" => 2 === H === H::H H::H H::H 111 222 333 object(D)#7 (9) { ["np":"D":private]=> string(4) "D::E" ["nq":protected]=> string(4) "D::F" ["nr"]=> string(4) "D::F" ["p":"D":private]=> int(12) ["q":protected]=> int(24) ["r"]=> int(36) ["np":"C":private]=> string(4) "C::D" ["p":"C":private]=> int(2) ["s"]=> int(1) } Properties: "\0D\0np" => D::E "\0*\0nq" => D::F "nr" => D::F "\0D\0p" => 12 "\0*\0q" => 24 "r" => 36 "\0C\0np" => C::D "\0C\0p" => 2 "s" => 1 object(H)#6 (6) { ["np"]=> string(4) "H::I" ["nq"]=> string(4) "H::I" ["nr"]=> string(4) "H::I" ["p"]=> int(112) ["q"]=> int(223) ["r"]=> int(334) } Properties: "np" => H::I "nq" => H::I "nr" => H::I "p" => 112 "q" => 223 "r" => 334 === J === object(J)#7 (1) { ["p"]=> NULL } Properties: "p" => === Var properties === it worked === Foreach === "np" => H::I "nq" => H::I "nr" => H::I "p" => 112 "q" => 223 "r" => 334 object(H)#6 (6) { ["np"]=> string(4) "H::I" ["nq"]=> string(4) "H::I" ["nr"]=> string(4) "H::O" ["p"]=> int(112) ["q"]=> int(223) ["r"]=> int(340) } Properties: "np" => H::I "nq" => H::I "nr" => H::O "p" => 112 "q" => 223 "r" => 340 === Foreach by reference === "np" => H::I "nq" => H::I "nr" => H::O "p" => 112 "q" => q "r" => 340 object(H)#6 (6) { ["np"]=> string(4) "H::I" ["nq"]=> string(4) "H::I" ["nr"]=> string(2) "nr" ["p"]=> int(112) ["q"]=> string(1) "q" ["r"]=> &string(1) "r" } Properties: "np" => H::I "nq" => H::I "nr" => nr "p" => 112 "q" => q "r" => r object(dumper)#9 (1) { ["prop"]=> int(10) } Test end