File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,7 +14,10 @@ public function fromObject(
1414 $ value = $ this ->fromObject ($ value , $ dataObjectClass );
1515 }
1616 elseif (is_array ($ value )) {
17- if (is_int (key ($ value ))) {
17+ if (empty ($ value )) {
18+ $ value = [];
19+ }
20+ elseif (is_int (key ($ value ))) {
1821 array_walk ($ value , function (&$ element )use ($ dataObjectClass ) {
1922 if (is_object ($ element )) {
2023 $ element = $ this ->fromObject ($ element , $ dataObjectClass );
Original file line number Diff line number Diff line change @@ -193,4 +193,17 @@ public function testEmptyNestedArray():void {
193193 self ::assertSame ("value2 " , $ output ->getString ("key2 " ));
194194 self ::assertSame ([], $ output ->getArray ("nested " ));
195195 }
196+
197+ public function testEmptyNestedArrayInObject ():void {
198+ $ object = (object )[
199+ "key1 " => "value1 " ,
200+ "key2 " => "value2 " ,
201+ "nested " => [],
202+ ];
203+ $ sut = new DataObjectBuilder ();
204+ $ output = $ sut ->fromObject ($ object );
205+
206+ self ::assertSame ("value2 " , $ output ->getString ("key2 " ));
207+ self ::assertSame ([], $ output ->getArray ("nested " ));
208+ }
196209}
You can’t perform that action at this time.
0 commit comments