1--TEST--
2Test sprintf() function : usage variations - string formats with resource 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() : string formats with resource values ***\n";
11
12// resource type variable
13$fp = fopen (__FILE__, "r");
14$dfp = opendir ( __DIR__ );
15
16// array of resource values
17$resource_values = array (
18  $fp,
19  $dfp
20);
21
22// array of string formats
23$string_formats = array(
24  "%s", "%hs", "%ls",
25  "%Ls"," %s", "%s ",
26  "\t%s", "\n%s", "%4s",
27  "%30s", "%[a-zA-Z0-9]", "%*s"
28);
29
30$count = 1;
31foreach($resource_values as $resource_value) {
32  echo "\n-- Iteration $count --\n";
33
34  foreach($string_formats as $format) {
35    var_dump( sprintf($format, $resource_value) );
36  }
37  $count++;
38};
39
40// closing the resources
41fclose($fp);
42closedir($dfp);
43
44echo "Done";
45?>
46--EXPECTF--
47*** Testing sprintf() : string formats with resource values ***
48
49-- Iteration 1 --
50string(%d) "Resource id #%d"
51string(1) "s"
52string(%d) "Resource id #%d"
53string(1) "s"
54string(%d) " Resource id #%d"
55string(%d) "Resource id #%d "
56string(%d) "	Resource id #%d"
57string(%d) "
58Resource id #%d"
59string(%d) "Resource id #%d"
60string(30) "%sResource id #%d"
61string(10) "a-zA-Z0-9]"
62string(1) "s"
63
64-- Iteration 2 --
65string(%d) "Resource id #%d"
66string(1) "s"
67string(%d) "Resource id #%d"
68string(1) "s"
69string(%d) " Resource id #%d"
70string(%d) "Resource id #%d "
71string(%d) "	Resource id #%d"
72string(%d) "
73Resource id #%d"
74string(%d) "Resource id #%d"
75string(30) "%sResource id #%d"
76string(10) "a-zA-Z0-9]"
77string(1) "s"
78Done
79