1--TEST-- 2Test sprintf() function : usage variations - float 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() : float formats with integer values ***\n"; 11 12// array of int type 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// various float formats 35$float_formats = array( 36 "%f", "%hf", "%lf", 37 "%Lf", " %f", "%f ", 38 "\t%f", "\n%f", "%4f", 39 "%30f", "%[0-9]", "%*f" 40); 41 42$count = 1; 43foreach($integer_values as $int_value) { 44 echo "\n-- Iteration $count --\n"; 45 46 foreach($float_formats as $format) { 47 // with two arguments 48 var_dump( sprintf($format, $int_value) ); 49 } 50 $count++; 51}; 52 53echo "Done"; 54?> 55--EXPECTF-- 56*** Testing sprintf() : float formats with integer values *** 57 58-- Iteration 1 -- 59string(8) "0.000000" 60string(1) "f" 61string(8) "0.000000" 62string(1) "f" 63string(9) " 0.000000" 64string(9) "0.000000 " 65string(9) " 0.000000" 66string(9) " 670.000000" 68string(8) "0.000000" 69string(30) " 0.000000" 70string(4) "0-9]" 71string(1) "f" 72 73-- Iteration 2 -- 74string(8) "1.000000" 75string(1) "f" 76string(8) "1.000000" 77string(1) "f" 78string(9) " 1.000000" 79string(9) "1.000000 " 80string(9) " 1.000000" 81string(9) " 821.000000" 83string(8) "1.000000" 84string(30) " 1.000000" 85string(4) "0-9]" 86string(1) "f" 87 88-- Iteration 3 -- 89string(9) "-1.000000" 90string(1) "f" 91string(9) "-1.000000" 92string(1) "f" 93string(10) " -1.000000" 94string(10) "-1.000000 " 95string(10) " -1.000000" 96string(10) " 97-1.000000" 98string(9) "-1.000000" 99string(30) " -1.000000" 100string(4) "0-9]" 101string(1) "f" 102 103-- Iteration 4 -- 104string(18) "-2147483648.000000" 105string(1) "f" 106string(18) "-2147483648.000000" 107string(1) "f" 108string(19) " -2147483648.000000" 109string(19) "-2147483648.000000 " 110string(19) " -2147483648.000000" 111string(19) " 112-2147483648.000000" 113string(18) "-2147483648.000000" 114string(30) " -2147483648.000000" 115string(4) "0-9]" 116string(1) "f" 117 118-- Iteration 5 -- 119string(18) "-2147483647.000000" 120string(1) "f" 121string(18) "-2147483647.000000" 122string(1) "f" 123string(19) " -2147483647.000000" 124string(19) "-2147483647.000000 " 125string(19) " -2147483647.000000" 126string(19) " 127-2147483647.000000" 128string(18) "-2147483647.000000" 129string(30) " -2147483647.000000" 130string(4) "0-9]" 131string(1) "f" 132 133-- Iteration 6 -- 134string(17) "2147483647.000000" 135string(1) "f" 136string(17) "2147483647.000000" 137string(1) "f" 138string(18) " 2147483647.000000" 139string(18) "2147483647.000000 " 140string(18) " 2147483647.000000" 141string(18) " 1422147483647.000000" 143string(17) "2147483647.000000" 144string(30) " 2147483647.000000" 145string(4) "0-9]" 146string(1) "f" 147 148-- Iteration 7 -- 149string(17) "2147483640.000000" 150string(1) "f" 151string(17) "2147483640.000000" 152string(1) "f" 153string(18) " 2147483640.000000" 154string(18) "2147483640.000000 " 155string(18) " 2147483640.000000" 156string(18) " 1572147483640.000000" 158string(17) "2147483640.000000" 159string(30) " 2147483640.000000" 160string(4) "0-9]" 161string(1) "f" 162 163-- Iteration 8 -- 164string(11) "4667.000000" 165string(1) "f" 166string(11) "4667.000000" 167string(1) "f" 168string(12) " 4667.000000" 169string(12) "4667.000000 " 170string(12) " 4667.000000" 171string(12) " 1724667.000000" 173string(11) "4667.000000" 174string(30) " 4667.000000" 175string(4) "0-9]" 176string(1) "f" 177 178-- Iteration 9 -- 179string(11) "4779.000000" 180string(1) "f" 181string(11) "4779.000000" 182string(1) "f" 183string(12) " 4779.000000" 184string(12) "4779.000000 " 185string(12) " 4779.000000" 186string(12) " 1874779.000000" 188string(11) "4779.000000" 189string(30) " 4779.000000" 190string(4) "0-9]" 191string(1) "f" 192 193-- Iteration 10 -- 194string(11) "4095.000000" 195string(1) "f" 196string(11) "4095.000000" 197string(1) "f" 198string(12) " 4095.000000" 199string(12) "4095.000000 " 200string(12) " 4095.000000" 201string(12) " 2024095.000000" 203string(11) "4095.000000" 204string(30) " 4095.000000" 205string(4) "0-9]" 206string(1) "f" 207 208-- Iteration 11 -- 209string(10) "250.000000" 210string(1) "f" 211string(10) "250.000000" 212string(1) "f" 213string(11) " 250.000000" 214string(11) "250.000000 " 215string(11) " 250.000000" 216string(11) " 217250.000000" 218string(10) "250.000000" 219string(30) " 250.000000" 220string(4) "0-9]" 221string(1) "f" 222 223-- Iteration 12 -- 224string(18) "-2147483648.000000" 225string(1) "f" 226string(18) "-2147483648.000000" 227string(1) "f" 228string(19) " -2147483648.000000" 229string(19) "-2147483648.000000 " 230string(19) " -2147483648.000000" 231string(19) " 232-2147483648.000000" 233string(18) "-2147483648.000000" 234string(30) " -2147483648.000000" 235string(4) "0-9]" 236string(1) "f" 237 238-- Iteration 13 -- 239string(17) "2147483647.000000" 240string(1) "f" 241string(17) "2147483647.000000" 242string(1) "f" 243string(18) " 2147483647.000000" 244string(18) "2147483647.000000 " 245string(18) " 2147483647.000000" 246string(18) " 2472147483647.000000" 248string(17) "2147483647.000000" 249string(30) " 2147483647.000000" 250string(4) "0-9]" 251string(1) "f" 252 253-- Iteration 14 -- 254string(17) "2147483647.000000" 255string(1) "f" 256string(17) "2147483647.000000" 257string(1) "f" 258string(18) " 2147483647.000000" 259string(18) "2147483647.000000 " 260string(18) " 2147483647.000000" 261string(18) " 2622147483647.000000" 263string(17) "2147483647.000000" 264string(30) " 2147483647.000000" 265string(4) "0-9]" 266string(1) "f" 267 268-- Iteration 15 -- 269string(9) "83.000000" 270string(1) "f" 271string(9) "83.000000" 272string(1) "f" 273string(10) " 83.000000" 274string(10) "83.000000 " 275string(10) " 83.000000" 276string(10) " 27783.000000" 278string(9) "83.000000" 279string(30) " 83.000000" 280string(4) "0-9]" 281string(1) "f" 282 283-- Iteration 16 -- 284string(8) "1.000000" 285string(1) "f" 286string(8) "1.000000" 287string(1) "f" 288string(9) " 1.000000" 289string(9) "1.000000 " 290string(9) " 1.000000" 291string(9) " 2921.000000" 293string(8) "1.000000" 294string(30) " 1.000000" 295string(4) "0-9]" 296string(1) "f" 297 298-- Iteration 17 -- 299string(18) "-2147483648.000000" 300string(1) "f" 301string(18) "-2147483648.000000" 302string(1) "f" 303string(19) " -2147483648.000000" 304string(19) "-2147483648.000000 " 305string(19) " -2147483648.000000" 306string(19) " 307-2147483648.000000" 308string(18) "-2147483648.000000" 309string(30) " -2147483648.000000" 310string(4) "0-9]" 311string(1) "f" 312 313-- Iteration 18 -- 314string(17) "2147483647.000000" 315string(1) "f" 316string(17) "2147483647.000000" 317string(1) "f" 318string(18) " 2147483647.000000" 319string(18) "2147483647.000000 " 320string(18) " 2147483647.000000" 321string(18) " 3222147483647.000000" 323string(17) "2147483647.000000" 324string(30) " 2147483647.000000" 325string(4) "0-9]" 326string(1) "f" 327Done