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 55--EXPECTF-- 56*** Testing vsprintf() : char formats with char values *** 57 58-- Iteration 1 -- 59string(1) "" 60 61-- Iteration 2 -- 62string(4) " C " 63 64-- Iteration 3 -- 65string(8) " c, � C" 66 67-- Iteration 4 -- 68string(7) "a � b b" 69 70-- Iteration 5 -- 71string(7) "a � b b" 72 73-- Iteration 6 -- 74string(7) "; � S 75" 76 77-- Iteration 7 -- 78string(4) "%. c" 79 80-- Iteration 8 -- 81string(7) "A B C D" 82Done 83