@@ -34,23 +34,23 @@ function ($acc, $key) use ($tree1, $tree2) {
34
34
$ diff = [...$ acc ];
35
35
36
36
if (!array_key_exists ($ key , $ tree2 )) {
37
- $ diff[ $ key][ 'status ' ] = 'remove ' ;
37
+ $ diff = addDataToArray ( $ diff , $ key, 'status ' , 'remove ' ) ;
38
38
$ innerContent = sortingFirstFile ($ tree1 [$ key ], $ tree1 [$ key ]);
39
39
$ diff [$ key ]['value ' ] = $ innerContent ;
40
40
return $ diff ;
41
41
}
42
42
43
43
if ($ tree1 [$ key ] === $ tree2 [$ key ]) {
44
- $ diff[ $ key][ 'status ' ] = 'unchanged ' ;
44
+ $ diff = addDataToArray ( $ diff , $ key, 'status ' , 'unchanged ' ) ;
45
45
$ diff [$ key ]['value ' ] = sortingFirstFile ($ tree1 [$ key ], $ tree1 [$ key ]);
46
46
return $ diff ;
47
47
}
48
48
49
49
if (is_array ($ tree1 [$ key ]) && is_array ($ tree2 [$ key ])) {
50
- $ diff[ $ key][ 'status ' ] = 'changed ' ;
50
+ $ diff = addDataToArray ( $ diff , $ key, 'status ' , 'changed ' ) ;
51
51
$ diff [$ key ]['value ' ] = sortingFirstFile ($ tree1 [$ key ], $ tree2 [$ key ]);
52
52
} else {
53
- $ diff[ $ key][ 'status ' ] = 'remove ' ;
53
+ $ diff = addDataToArray ( $ diff , $ key, 'status ' , 'remove ' ) ;
54
54
$ diff [$ key ]['beforeValue ' ] = sortingFirstFile ($ tree1 [$ key ], $ tree1 [$ key ]);
55
55
$ diff [$ key ]['afterValue ' ] = sortingFirstFile ($ tree2 [$ key ], $ tree2 [$ key ]);
56
56
}
@@ -128,3 +128,14 @@ function ($left, $right) {
128
128
return array_merge ($ diff , $ diffContent );
129
129
}, []);
130
130
}
131
+
132
+ function addDataToArray (array $ tree , string $ key , string $ treeKey , string |array $ value ): array
133
+ {
134
+ $ diff = $ tree ;
135
+
136
+ if (!is_array ($ value )) {
137
+ $ diff [$ key ][$ treeKey ] = $ value ;
138
+ }
139
+
140
+ return $ diff ;
141
+ }
0 commit comments