1--TEST--
2Test sprintf() function : usage variations - char formats with string values
3--FILE--
4<?php
5/* Prototype  : string sprintf(string $format [, mixed $arg1 [, mixed ...]])
6 * Description: Return a formatted string
7 * Source code: ext/standard/formatted_print.c
8*/
9
10echo "*** Testing sprintf() : char formats with string values ***\n";
11
12// array of string values
13$string_values = array(
14  "",
15  '',
16  "0",
17  '0',
18  "1",
19  '1',
20  "\x01",
21  '\x01',
22  "\01",
23  '\01',
24  'string',
25  "string",
26  "true",
27  "FALSE",
28  'false',
29  'TRUE',
30  "NULL",
31  'null'
32);
33
34// array of char formats
35$char_formats = array(
36  "%c", "%hc", "%lc",
37  "%Lc", " %c", "%c ",
38  "\t%c", "\n%c", "%4c",
39  "%30c", "%[a-bA-B@#$&]", "%*c"
40);
41
42$count = 1;
43foreach($string_values as $string_value) {
44  echo "\n-- Iteration $count --\n";
45
46  foreach($char_formats as $format) {
47    var_dump( sprintf($format, $string_value) );
48  }
49  $count++;
50};
51
52echo "Done";
53?>
54--EXPECTF--
55*** Testing sprintf() : char formats with string values ***
56
57-- Iteration 1 --
58string(1) "�"
59string(1) "c"
60string(1) "�"
61string(1) "c"
62string(2) " �"
63string(2) "� "
64string(2) "	�"
65string(2) "
66�"
67string(1) "�"
68string(1) "�"
69string(11) "a-bA-B@#$&]"
70string(1) "c"
71
72-- Iteration 2 --
73string(1) "�"
74string(1) "c"
75string(1) "�"
76string(1) "c"
77string(2) " �"
78string(2) "� "
79string(2) "	�"
80string(2) "
81�"
82string(1) "�"
83string(1) "�"
84string(11) "a-bA-B@#$&]"
85string(1) "c"
86
87-- Iteration 3 --
88string(1) "�"
89string(1) "c"
90string(1) "�"
91string(1) "c"
92string(2) " �"
93string(2) "� "
94string(2) "	�"
95string(2) "
96�"
97string(1) "�"
98string(1) "�"
99string(11) "a-bA-B@#$&]"
100string(1) "c"
101
102-- Iteration 4 --
103string(1) "�"
104string(1) "c"
105string(1) "�"
106string(1) "c"
107string(2) " �"
108string(2) "� "
109string(2) "	�"
110string(2) "
111�"
112string(1) "�"
113string(1) "�"
114string(11) "a-bA-B@#$&]"
115string(1) "c"
116
117-- Iteration 5 --
118string(1) ""
119string(1) "c"
120string(1) ""
121string(1) "c"
122string(2) " "
123string(2) " "
124string(2) "	"
125string(2) "
126"
127string(1) ""
128string(1) ""
129string(11) "a-bA-B@#$&]"
130string(1) "c"
131
132-- Iteration 6 --
133string(1) ""
134string(1) "c"
135string(1) ""
136string(1) "c"
137string(2) " "
138string(2) " "
139string(2) "	"
140string(2) "
141"
142string(1) ""
143string(1) ""
144string(11) "a-bA-B@#$&]"
145string(1) "c"
146
147-- Iteration 7 --
148string(1) "�"
149string(1) "c"
150string(1) "�"
151string(1) "c"
152string(2) " �"
153string(2) "� "
154string(2) "	�"
155string(2) "
156�"
157string(1) "�"
158string(1) "�"
159string(11) "a-bA-B@#$&]"
160string(1) "c"
161
162-- Iteration 8 --
163string(1) "�"
164string(1) "c"
165string(1) "�"
166string(1) "c"
167string(2) " �"
168string(2) "� "
169string(2) "	�"
170string(2) "
171�"
172string(1) "�"
173string(1) "�"
174string(11) "a-bA-B@#$&]"
175string(1) "c"
176
177-- Iteration 9 --
178string(1) "�"
179string(1) "c"
180string(1) "�"
181string(1) "c"
182string(2) " �"
183string(2) "� "
184string(2) "	�"
185string(2) "
186�"
187string(1) "�"
188string(1) "�"
189string(11) "a-bA-B@#$&]"
190string(1) "c"
191
192-- Iteration 10 --
193string(1) "�"
194string(1) "c"
195string(1) "�"
196string(1) "c"
197string(2) " �"
198string(2) "� "
199string(2) "	�"
200string(2) "
201�"
202string(1) "�"
203string(1) "�"
204string(11) "a-bA-B@#$&]"
205string(1) "c"
206
207-- Iteration 11 --
208string(1) "�"
209string(1) "c"
210string(1) "�"
211string(1) "c"
212string(2) " �"
213string(2) "� "
214string(2) "	�"
215string(2) "
216�"
217string(1) "�"
218string(1) "�"
219string(11) "a-bA-B@#$&]"
220string(1) "c"
221
222-- Iteration 12 --
223string(1) "�"
224string(1) "c"
225string(1) "�"
226string(1) "c"
227string(2) " �"
228string(2) "� "
229string(2) "	�"
230string(2) "
231�"
232string(1) "�"
233string(1) "�"
234string(11) "a-bA-B@#$&]"
235string(1) "c"
236
237-- Iteration 13 --
238string(1) "�"
239string(1) "c"
240string(1) "�"
241string(1) "c"
242string(2) " �"
243string(2) "� "
244string(2) "	�"
245string(2) "
246�"
247string(1) "�"
248string(1) "�"
249string(11) "a-bA-B@#$&]"
250string(1) "c"
251
252-- Iteration 14 --
253string(1) "�"
254string(1) "c"
255string(1) "�"
256string(1) "c"
257string(2) " �"
258string(2) "� "
259string(2) "	�"
260string(2) "
261�"
262string(1) "�"
263string(1) "�"
264string(11) "a-bA-B@#$&]"
265string(1) "c"
266
267-- Iteration 15 --
268string(1) "�"
269string(1) "c"
270string(1) "�"
271string(1) "c"
272string(2) " �"
273string(2) "� "
274string(2) "	�"
275string(2) "
276�"
277string(1) "�"
278string(1) "�"
279string(11) "a-bA-B@#$&]"
280string(1) "c"
281
282-- Iteration 16 --
283string(1) "�"
284string(1) "c"
285string(1) "�"
286string(1) "c"
287string(2) " �"
288string(2) "� "
289string(2) "	�"
290string(2) "
291�"
292string(1) "�"
293string(1) "�"
294string(11) "a-bA-B@#$&]"
295string(1) "c"
296
297-- Iteration 17 --
298string(1) "�"
299string(1) "c"
300string(1) "�"
301string(1) "c"
302string(2) " �"
303string(2) "� "
304string(2) "	�"
305string(2) "
306�"
307string(1) "�"
308string(1) "�"
309string(11) "a-bA-B@#$&]"
310string(1) "c"
311
312-- Iteration 18 --
313string(1) "�"
314string(1) "c"
315string(1) "�"
316string(1) "c"
317string(2) " �"
318string(2) "� "
319string(2) "	�"
320string(2) "
321�"
322string(1) "�"
323string(1) "�"
324string(11) "a-bA-B@#$&]"
325string(1) "c"
326Done