---- Pass uninitialized array & object by ref: function call --- array(1) { [0]=> string(12) "Ref1 changed" } array(1) { [0]=> array(1) { [1]=> string(12) "Ref2 changed" } } ---- Pass uninitialized arrays & objects by ref: static method call --- array(1) { [0]=> string(12) "Ref1 changed" } array(1) { [0]=> array(1) { [1]=> string(12) "Ref2 changed" } } ---- Pass uninitialized arrays & objects by ref: constructor --- array(1) { [0]=> string(12) "Ref1 changed" } array(1) { [0]=> array(1) { [1]=> string(12) "Ref2 changed" } } ---- Pass uninitialized arrays & objects by ref: instance method call --- array(1) { [0]=> string(12) "Ref1 changed" } array(1) { [0]=> array(1) { [1]=> string(12) "Ref2 changed" } }