1Encapsed strings
2-----
3<?php
4
5"$A";
6"$A->B";
7"$A[B]";
8"$A[0]";
9"$A[1234]";
10"$A[9223372036854775808]";
11"$A[000]";
12"$A[0x0]";
13"$A[0b0]";
14"$A[$B]";
15"{$A}";
16"{$A['B']}";
17"${A}";
18"${A['B']}";
19"${$A}";
20"\{$A}";
21"\{ $A }";
22"\\{$A}";
23"\\{ $A }";
24"{$$A}[B]";
25"$$A[B]";
26"A $B C";
27b"$A";
28B"$A";
29-----
30array(
31    0: Stmt_Expression(
32        expr: Scalar_InterpolatedString(
33            parts: array(
34                0: Expr_Variable(
35                    name: A
36                )
37            )
38        )
39    )
40    1: Stmt_Expression(
41        expr: Scalar_InterpolatedString(
42            parts: array(
43                0: Expr_PropertyFetch(
44                    var: Expr_Variable(
45                        name: A
46                    )
47                    name: Identifier(
48                        name: B
49                    )
50                )
51            )
52        )
53    )
54    2: Stmt_Expression(
55        expr: Scalar_InterpolatedString(
56            parts: array(
57                0: Expr_ArrayDimFetch(
58                    var: Expr_Variable(
59                        name: A
60                    )
61                    dim: Scalar_String(
62                        value: B
63                    )
64                )
65            )
66        )
67    )
68    3: Stmt_Expression(
69        expr: Scalar_InterpolatedString(
70            parts: array(
71                0: Expr_ArrayDimFetch(
72                    var: Expr_Variable(
73                        name: A
74                    )
75                    dim: Scalar_Int(
76                        value: 0
77                    )
78                )
79            )
80        )
81    )
82    4: Stmt_Expression(
83        expr: Scalar_InterpolatedString(
84            parts: array(
85                0: Expr_ArrayDimFetch(
86                    var: Expr_Variable(
87                        name: A
88                    )
89                    dim: Scalar_Int(
90                        value: 1234
91                    )
92                )
93            )
94        )
95    )
96    5: Stmt_Expression(
97        expr: Scalar_InterpolatedString(
98            parts: array(
99                0: Expr_ArrayDimFetch(
100                    var: Expr_Variable(
101                        name: A
102                    )
103                    dim: Scalar_String(
104                        value: 9223372036854775808
105                    )
106                )
107            )
108        )
109    )
110    6: Stmt_Expression(
111        expr: Scalar_InterpolatedString(
112            parts: array(
113                0: Expr_ArrayDimFetch(
114                    var: Expr_Variable(
115                        name: A
116                    )
117                    dim: Scalar_String(
118                        value: 000
119                    )
120                )
121            )
122        )
123    )
124    7: Stmt_Expression(
125        expr: Scalar_InterpolatedString(
126            parts: array(
127                0: Expr_ArrayDimFetch(
128                    var: Expr_Variable(
129                        name: A
130                    )
131                    dim: Scalar_String(
132                        value: 0x0
133                    )
134                )
135            )
136        )
137    )
138    8: Stmt_Expression(
139        expr: Scalar_InterpolatedString(
140            parts: array(
141                0: Expr_ArrayDimFetch(
142                    var: Expr_Variable(
143                        name: A
144                    )
145                    dim: Scalar_String(
146                        value: 0b0
147                    )
148                )
149            )
150        )
151    )
152    9: Stmt_Expression(
153        expr: Scalar_InterpolatedString(
154            parts: array(
155                0: Expr_ArrayDimFetch(
156                    var: Expr_Variable(
157                        name: A
158                    )
159                    dim: Expr_Variable(
160                        name: B
161                    )
162                )
163            )
164        )
165    )
166    10: Stmt_Expression(
167        expr: Scalar_InterpolatedString(
168            parts: array(
169                0: Expr_Variable(
170                    name: A
171                )
172            )
173        )
174    )
175    11: Stmt_Expression(
176        expr: Scalar_InterpolatedString(
177            parts: array(
178                0: Expr_ArrayDimFetch(
179                    var: Expr_Variable(
180                        name: A
181                    )
182                    dim: Scalar_String(
183                        value: B
184                    )
185                )
186            )
187        )
188    )
189    12: Stmt_Expression(
190        expr: Scalar_InterpolatedString(
191            parts: array(
192                0: Expr_Variable(
193                    name: A
194                )
195            )
196        )
197    )
198    13: Stmt_Expression(
199        expr: Scalar_InterpolatedString(
200            parts: array(
201                0: Expr_ArrayDimFetch(
202                    var: Expr_Variable(
203                        name: A
204                    )
205                    dim: Scalar_String(
206                        value: B
207                    )
208                )
209            )
210        )
211    )
212    14: Stmt_Expression(
213        expr: Scalar_InterpolatedString(
214            parts: array(
215                0: Expr_Variable(
216                    name: Expr_Variable(
217                        name: A
218                    )
219                )
220            )
221        )
222    )
223    15: Stmt_Expression(
224        expr: Scalar_InterpolatedString(
225            parts: array(
226                0: InterpolatedStringPart(
227                    value: \{
228                )
229                1: Expr_Variable(
230                    name: A
231                )
232                2: InterpolatedStringPart(
233                    value: }
234                )
235            )
236        )
237    )
238    16: Stmt_Expression(
239        expr: Scalar_InterpolatedString(
240            parts: array(
241                0: InterpolatedStringPart(
242                    value: \{
243                )
244                1: Expr_Variable(
245                    name: A
246                )
247                2: InterpolatedStringPart(
248                    value:  }
249                )
250            )
251        )
252    )
253    17: Stmt_Expression(
254        expr: Scalar_InterpolatedString(
255            parts: array(
256                0: InterpolatedStringPart(
257                    value: \
258                )
259                1: Expr_Variable(
260                    name: A
261                )
262            )
263        )
264    )
265    18: Stmt_Expression(
266        expr: Scalar_InterpolatedString(
267            parts: array(
268                0: InterpolatedStringPart(
269                    value: \{
270                )
271                1: Expr_Variable(
272                    name: A
273                )
274                2: InterpolatedStringPart(
275                    value:  }
276                )
277            )
278        )
279    )
280    19: Stmt_Expression(
281        expr: Scalar_InterpolatedString(
282            parts: array(
283                0: Expr_Variable(
284                    name: Expr_Variable(
285                        name: A
286                    )
287                )
288                1: InterpolatedStringPart(
289                    value: [B]
290                )
291            )
292        )
293    )
294    20: Stmt_Expression(
295        expr: Scalar_InterpolatedString(
296            parts: array(
297                0: InterpolatedStringPart(
298                    value: $
299                )
300                1: Expr_ArrayDimFetch(
301                    var: Expr_Variable(
302                        name: A
303                    )
304                    dim: Scalar_String(
305                        value: B
306                    )
307                )
308            )
309        )
310    )
311    21: Stmt_Expression(
312        expr: Scalar_InterpolatedString(
313            parts: array(
314                0: InterpolatedStringPart(
315                    value: A
316                )
317                1: Expr_Variable(
318                    name: B
319                )
320                2: InterpolatedStringPart(
321                    value:  C
322                )
323            )
324        )
325    )
326    22: Stmt_Expression(
327        expr: Scalar_InterpolatedString(
328            parts: array(
329                0: Expr_Variable(
330                    name: A
331                )
332            )
333        )
334    )
335    23: Stmt_Expression(
336        expr: Scalar_InterpolatedString(
337            parts: array(
338                0: Expr_Variable(
339                    name: A
340                )
341            )
342        )
343    )
344)
345