@@ -130,7 +130,7 @@ public function toFile(array $values): string
130
130
}
131
131
132
132
/**
133
- * @param array<array-key, mixed > $items
133
+ * @param array<array-key, scalar|scalar[] > $items
134
134
*/
135
135
public function recursiveToFile (
136
136
array $ items ,
@@ -140,24 +140,29 @@ public function recursiveToFile(
140
140
$ output = '' ;
141
141
142
142
foreach ($ items as $ key => $ value ) {
143
+
144
+ if (is_string ($ key )) {
145
+ $ key = str_replace ('\" ' , '" ' , addslashes ($ key ));
146
+ }
147
+
143
148
if (is_array ($ value )) {
144
149
$ value = $ this ->recursiveToFile ($ value , $ prefix .' ' );
145
150
146
151
if (is_string ($ key )) {
147
- $ key = str_replace ('\" ' , '" ' , addslashes ($ key ));
148
-
149
152
$ output .= "\n{$ prefix } ' {$ key }' => [ {$ value }\n {$ prefix }], " ;
150
153
} else {
151
154
$ output .= "\n{$ prefix } [ {$ value }\n {$ prefix }], " ;
152
155
}
153
156
} else {
154
- $ value = str_replace ('\" ' , '" ' , addslashes ($ value ));
157
+
158
+ if (is_string ($ value )) {
159
+ $ value = "' " .str_replace ('\" ' , '" ' , addslashes ($ value ))."' " ;
160
+ }
155
161
156
162
if (is_string ($ key )) {
157
- $ key = str_replace ('\" ' , '" ' , addslashes ($ key ));
158
- $ output .= "\n{$ prefix } ' {$ key }' => ' {$ value }', " ;
163
+ $ output .= "\n{$ prefix } ' {$ key }' => {$ value }, " ;
159
164
} else {
160
- $ output .= "\n{$ prefix } ' {$ value }' , " ;
165
+ $ output .= "\n{$ prefix } {$ value }, " ;
161
166
}
162
167
}
163
168
}
0 commit comments