1--TEST-- 2Test vsprintf() function : usage variations - char formats with char 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() for char formats with an array of chars passed to the function 12*/ 13 14echo "*** Testing vsprintf() : char formats with char values ***\n"; 15 16 17// defining array of char formats 18$formats = array( 19 "%c", 20 "%+c %-c %C", 21 "%lc %Lc, %4c %-4c", 22 "%10.4c %-10.4c %04c %04.4c", 23 "%'#2c %'2c %'$2c %'_2c", 24 "%c %c %c %c", 25 "% %%c c%", 26 '%3$c %4$c %1$c %2$c' 27); 28 29// Arrays of char values for the format defined in $format. 30// Each sub array contains char values which correspond to each format string in $format 31$args_array = array( 32 array(0), 33 array('c', 67, 68), 34 array(' ', " ", -67, +67), 35 array(97, -97, 98, +98), 36 array(97, -97, 98, +98), 37 array(0x123b, 0xfAb, 0123, 012), 38 array(38, -1234, 2345), 39 array(67, 68, 65, 66) 40 41); 42 43// looping to test vsprintf() with different char formats from the above $format array 44// and with char values from the above $args_array array 45$counter = 1; 46foreach($formats as $format) { 47 echo "\n-- Iteration $counter --\n"; 48 var_dump( vsprintf($format, $args_array[$counter-1]) ); 49 $counter++; 50} 51 52echo "Done"; 53?> 54--EXPECTF-- 55*** Testing vsprintf() : char formats with char values *** 56 57-- Iteration 1 -- 58string(1) "" 59 60-- Iteration 2 -- 61string(4) " C " 62 63-- Iteration 3 -- 64string(8) " c, � C" 65 66-- Iteration 4 -- 67string(7) "a � b b" 68 69-- Iteration 5 -- 70string(7) "a � b b" 71 72-- Iteration 6 -- 73string(7) "; � S 74" 75 76-- Iteration 7 -- 77string(4) "%. c" 78 79-- Iteration 8 -- 80string(7) "A B C D" 81Done 82