1--TEST-- 2Test sprintf() function : usage variations - char formats with integer 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 integer values ***\n"; 11 12// array of integer values 13$integer_values = array( 14 0, 15 1, 16 -1, 17 -2147483648, // max negative integer value 18 -2147483647, 19 2147483647, // max positive integer value 20 2147483640, 21 0x123B, // integer as hexadecimal 22 0x12ab, 23 0Xfff, 24 0XFA, 25 -0x80000000, // max negative integer as hexadecimal 26 0x7fffffff, // max postive integer as hexadecimal 27 0x7FFFFFFF, // max postive integer as hexadecimal 28 0123, // integer as octal 29 01912, // should be quivalent to octal 1 30 -020000000000, // max negative integer as octal 31 017777777777 // max positive integer as octal 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($integer_values as $integer_value) { 44 echo "\n-- Iteration $count --\n"; 45 46 foreach($char_formats as $format) { 47 var_dump( sprintf($format, $integer_value) ); 48 } 49 $count++; 50}; 51 52echo "Done"; 53?> 54--EXPECTF-- 55*** Testing sprintf() : char formats with integer 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) "S" 269string(1) "c" 270string(1) "S" 271string(1) "c" 272string(2) " S" 273string(2) "S " 274string(2) " S" 275string(2) " 276S" 277string(1) "S" 278string(1) "S" 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