1--TEST-- 2Test sprintf() function : usage variations - unsigned formats with float values 3--SKIPIF-- 4<?php 5if (PHP_INT_SIZE != 4) { 6 die("skip this test is for 32bit platform only"); 7} 8?> 9--FILE-- 10<?php 11/* Prototype : string sprintf(string $format [, mixed $arg1 [, mixed ...]]) 12 * Description: Return a formatted string 13 * Source code: ext/standard/formatted_print.c 14*/ 15 16echo "*** Testing sprintf() : unsigned formats with float values ***\n"; 17 18// array of float values 19$float_values = array( 20 2147483647, 21 0x800000001, // float value, beyond max positive int 22 020000000001, // float value, beyond max positive int 23 0.0, 24 -0.1, 25 1.0, 26 +1e5, 27 +5e+5, 28 +0e-5, 29 -1e5, 30 -1e+5, 31 -1e-2, 32 1e5, 33 1E8, 34 -1E9, 35 10.0000000000000000005, 36 10.5e+5 37); 38 39// array of unsigned formats 40$unsigned_formats = array( 41 "%u", "%hu", "%lu", 42 "%Lu", " %u", "%u ", 43 "\t%u", "\n%u", "%4u", 44 "%30u", "%[0-9]", "%*u" 45); 46 47$count = 1; 48foreach($float_values as $float_value) { 49 echo "\n-- Iteration $count --\n"; 50 51 foreach($unsigned_formats as $format) { 52 var_dump( sprintf($format, $float_value) ); 53 } 54 $count++; 55}; 56 57echo "Done"; 58?> 59--EXPECT-- 60*** Testing sprintf() : unsigned formats with float values *** 61 62-- Iteration 1 -- 63string(10) "2147483647" 64string(1) "u" 65string(10) "2147483647" 66string(1) "u" 67string(11) " 2147483647" 68string(11) "2147483647 " 69string(11) " 2147483647" 70string(11) " 712147483647" 72string(10) "2147483647" 73string(30) " 2147483647" 74string(4) "0-9]" 75string(1) "u" 76 77-- Iteration 2 -- 78string(1) "1" 79string(1) "u" 80string(1) "1" 81string(1) "u" 82string(2) " 1" 83string(2) "1 " 84string(2) " 1" 85string(2) " 861" 87string(4) " 1" 88string(30) " 1" 89string(4) "0-9]" 90string(1) "u" 91 92-- Iteration 3 -- 93string(10) "2147483649" 94string(1) "u" 95string(10) "2147483649" 96string(1) "u" 97string(11) " 2147483649" 98string(11) "2147483649 " 99string(11) " 2147483649" 100string(11) " 1012147483649" 102string(10) "2147483649" 103string(30) " 2147483649" 104string(4) "0-9]" 105string(1) "u" 106 107-- Iteration 4 -- 108string(1) "0" 109string(1) "u" 110string(1) "0" 111string(1) "u" 112string(2) " 0" 113string(2) "0 " 114string(2) " 0" 115string(2) " 1160" 117string(4) " 0" 118string(30) " 0" 119string(4) "0-9]" 120string(1) "u" 121 122-- Iteration 5 -- 123string(1) "0" 124string(1) "u" 125string(1) "0" 126string(1) "u" 127string(2) " 0" 128string(2) "0 " 129string(2) " 0" 130string(2) " 1310" 132string(4) " 0" 133string(30) " 0" 134string(4) "0-9]" 135string(1) "u" 136 137-- Iteration 6 -- 138string(1) "1" 139string(1) "u" 140string(1) "1" 141string(1) "u" 142string(2) " 1" 143string(2) "1 " 144string(2) " 1" 145string(2) " 1461" 147string(4) " 1" 148string(30) " 1" 149string(4) "0-9]" 150string(1) "u" 151 152-- Iteration 7 -- 153string(6) "100000" 154string(1) "u" 155string(6) "100000" 156string(1) "u" 157string(7) " 100000" 158string(7) "100000 " 159string(7) " 100000" 160string(7) " 161100000" 162string(6) "100000" 163string(30) " 100000" 164string(4) "0-9]" 165string(1) "u" 166 167-- Iteration 8 -- 168string(6) "500000" 169string(1) "u" 170string(6) "500000" 171string(1) "u" 172string(7) " 500000" 173string(7) "500000 " 174string(7) " 500000" 175string(7) " 176500000" 177string(6) "500000" 178string(30) " 500000" 179string(4) "0-9]" 180string(1) "u" 181 182-- Iteration 9 -- 183string(1) "0" 184string(1) "u" 185string(1) "0" 186string(1) "u" 187string(2) " 0" 188string(2) "0 " 189string(2) " 0" 190string(2) " 1910" 192string(4) " 0" 193string(30) " 0" 194string(4) "0-9]" 195string(1) "u" 196 197-- Iteration 10 -- 198string(10) "4294867296" 199string(1) "u" 200string(10) "4294867296" 201string(1) "u" 202string(11) " 4294867296" 203string(11) "4294867296 " 204string(11) " 4294867296" 205string(11) " 2064294867296" 207string(10) "4294867296" 208string(30) " 4294867296" 209string(4) "0-9]" 210string(1) "u" 211 212-- Iteration 11 -- 213string(10) "4294867296" 214string(1) "u" 215string(10) "4294867296" 216string(1) "u" 217string(11) " 4294867296" 218string(11) "4294867296 " 219string(11) " 4294867296" 220string(11) " 2214294867296" 222string(10) "4294867296" 223string(30) " 4294867296" 224string(4) "0-9]" 225string(1) "u" 226 227-- Iteration 12 -- 228string(1) "0" 229string(1) "u" 230string(1) "0" 231string(1) "u" 232string(2) " 0" 233string(2) "0 " 234string(2) " 0" 235string(2) " 2360" 237string(4) " 0" 238string(30) " 0" 239string(4) "0-9]" 240string(1) "u" 241 242-- Iteration 13 -- 243string(6) "100000" 244string(1) "u" 245string(6) "100000" 246string(1) "u" 247string(7) " 100000" 248string(7) "100000 " 249string(7) " 100000" 250string(7) " 251100000" 252string(6) "100000" 253string(30) " 100000" 254string(4) "0-9]" 255string(1) "u" 256 257-- Iteration 14 -- 258string(9) "100000000" 259string(1) "u" 260string(9) "100000000" 261string(1) "u" 262string(10) " 100000000" 263string(10) "100000000 " 264string(10) " 100000000" 265string(10) " 266100000000" 267string(9) "100000000" 268string(30) " 100000000" 269string(4) "0-9]" 270string(1) "u" 271 272-- Iteration 15 -- 273string(10) "3294967296" 274string(1) "u" 275string(10) "3294967296" 276string(1) "u" 277string(11) " 3294967296" 278string(11) "3294967296 " 279string(11) " 3294967296" 280string(11) " 2813294967296" 282string(10) "3294967296" 283string(30) " 3294967296" 284string(4) "0-9]" 285string(1) "u" 286 287-- Iteration 16 -- 288string(2) "10" 289string(1) "u" 290string(2) "10" 291string(1) "u" 292string(3) " 10" 293string(3) "10 " 294string(3) " 10" 295string(3) " 29610" 297string(4) " 10" 298string(30) " 10" 299string(4) "0-9]" 300string(1) "u" 301 302-- Iteration 17 -- 303string(7) "1050000" 304string(1) "u" 305string(7) "1050000" 306string(1) "u" 307string(8) " 1050000" 308string(8) "1050000 " 309string(8) " 1050000" 310string(8) " 3111050000" 312string(7) "1050000" 313string(30) " 1050000" 314string(4) "0-9]" 315string(1) "u" 316Done 317