Return to vsprintf_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test vsprintf() function : usage variations - int formats with int values 3: --FILE-- 4: <?php 5: /* Prototype : string vsprintf(string format, array args) 6: * Description: Return a formatted string 7: * Source code: ext/standard/formatted_print.c 8: */ 9: 10: /* 11: * Test vsprintf() when different int formats and int values are passed to 12: * the '$format' and '$args' arguments of the function 13: */ 14: 15: echo "*** Testing vsprintf() : int formats with int values ***\n"; 16: 17: 18: // defining array of int formats 19: $formats = array( 20: "%d", 21: "%+d %-d %D", 22: "%ld %Ld, %4d %-4d", 23: "%10.4d %-10.4d %04d %04.4d", 24: "%'#2d %'2d %'$2d %'_2d", 25: "%d %d %d %d", 26: "% %%d d%", 27: '%3$d %4$d %1$d %2$d' 28: ); 29: 30: // Arrays of int values for the format defined in $format. 31: // Each sub array contains int values which correspond to each format string in $format 32: $args_array = array( 33: array(0), 34: array(-1, 1, +22), 35: array(2147483647, -2147483648, +2147483640, -2147483640), 36: array(123456, 12345678, -1234567, 1234567), 37: array(111, 2222, 333333, 44444444), 38: array(0x123b, 0xfAb, 0123, 01293), 39: array(1234, -5678, 2345), 40: array(3, 4, 1, 2) 41: 42: ); 43: 44: // looping to test vsprintf() with different int formats from the above $format array 45: // and with int values from the above $args_array array 46: $counter = 1; 47: foreach($formats as $format) { 48: echo "\n-- Iteration $counter --\n"; 49: var_dump( vsprintf($format, $args_array[$counter-1]) ); 50: $counter++; 51: } 52: 53: echo "Done"; 54: ?> 55: 56: --EXPECTF-- 57: *** Testing vsprintf() : int formats with int values *** 58: 59: -- Iteration 1 -- 60: string(1) "0" 61: 62: -- Iteration 2 -- 63: string(5) "-1 1 " 64: 65: -- Iteration 3 -- 66: string(36) "2147483647 d, 2147483640 -2147483640" 67: 68: -- Iteration 4 -- 69: string(38) " 123456 12345678 -1234567 1234567" 70: 71: -- Iteration 5 -- 72: string(24) "111 2222 333333 44444444" 73: 74: -- Iteration 6 -- 75: string(15) "4667 4011 83 10" 76: 77: -- Iteration 7 -- 78: string(8) "%-5678 d" 79: 80: -- Iteration 8 -- 81: string(7) "1 2 3 4" 82: Done