--TEST-- Pass uninitialized objects and arrays by reference to test implicit initialisation. --FILE-- refs($u1[0], $u2[0][1]); var_dump($u1, $u2); ?> --EXPECT-- ---- 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" } }