sprintf_variation2.phpt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. --TEST--
  2. Test sprintf() function : usage variations - with all types of values for arg1 argument
  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. error_reporting(E_ALL & ~E_NOTICE);
  10. echo "*** Testing sprintf() : with different types of values passed for arg1 argument ***\n";
  11. // initialing required variables
  12. $format = '%s';
  13. $arg2 = 'third argument';
  14. //get an unset variable
  15. $unset_var = 10;
  16. unset ($unset_var);
  17. // declaring class
  18. class sample
  19. {
  20. public function __toString() {
  21. return "Object";
  22. }
  23. }
  24. // creating a file resource
  25. $file_handle = fopen(__FILE__, 'r');
  26. //array of values to iterate over
  27. $values = array(
  28. // int data
  29. 0,
  30. 1,
  31. 12345,
  32. -2345,
  33. // float data
  34. 10.5,
  35. -10.5,
  36. 10.1234567e10,
  37. 10.7654321E-10,
  38. .5,
  39. // array data
  40. array(),
  41. array(0),
  42. array(1),
  43. array(1, 2),
  44. array('color' => 'red', 'item' => 'pen'),
  45. // null data
  46. NULL,
  47. null,
  48. // boolean data
  49. true,
  50. false,
  51. TRUE,
  52. FALSE,
  53. // empty data
  54. "",
  55. '',
  56. // string data
  57. "string",
  58. 'string',
  59. // object data
  60. new sample(),
  61. // undefined data
  62. @$undefined_var,
  63. // unset data
  64. @$unset_var,
  65. // resource data
  66. $file_handle
  67. );
  68. // loop through each element of the array for arg1
  69. $count = 1;
  70. foreach($values as $value) {
  71. echo "\n-- Iteration $count --\n";
  72. // with two arguments
  73. var_dump( sprintf($format, $value) );
  74. // with three arguments
  75. var_dump( sprintf($format, $value, $arg2) );
  76. $count++;
  77. };
  78. // closing the resource
  79. fclose($file_handle);
  80. echo "Done";
  81. ?>
  82. --EXPECTF--
  83. *** Testing sprintf() : with different types of values passed for arg1 argument ***
  84. -- Iteration 1 --
  85. string(1) "0"
  86. string(1) "0"
  87. -- Iteration 2 --
  88. string(1) "1"
  89. string(1) "1"
  90. -- Iteration 3 --
  91. string(5) "12345"
  92. string(5) "12345"
  93. -- Iteration 4 --
  94. string(5) "-2345"
  95. string(5) "-2345"
  96. -- Iteration 5 --
  97. string(4) "10.5"
  98. string(4) "10.5"
  99. -- Iteration 6 --
  100. string(5) "-10.5"
  101. string(5) "-10.5"
  102. -- Iteration 7 --
  103. string(12) "101234567000"
  104. string(12) "101234567000"
  105. -- Iteration 8 --
  106. string(13) "1.07654321E-9"
  107. string(13) "1.07654321E-9"
  108. -- Iteration 9 --
  109. string(3) "0.5"
  110. string(3) "0.5"
  111. -- Iteration 10 --
  112. string(5) "Array"
  113. string(5) "Array"
  114. -- Iteration 11 --
  115. string(5) "Array"
  116. string(5) "Array"
  117. -- Iteration 12 --
  118. string(5) "Array"
  119. string(5) "Array"
  120. -- Iteration 13 --
  121. string(5) "Array"
  122. string(5) "Array"
  123. -- Iteration 14 --
  124. string(5) "Array"
  125. string(5) "Array"
  126. -- Iteration 15 --
  127. string(0) ""
  128. string(0) ""
  129. -- Iteration 16 --
  130. string(0) ""
  131. string(0) ""
  132. -- Iteration 17 --
  133. string(1) "1"
  134. string(1) "1"
  135. -- Iteration 18 --
  136. string(0) ""
  137. string(0) ""
  138. -- Iteration 19 --
  139. string(1) "1"
  140. string(1) "1"
  141. -- Iteration 20 --
  142. string(0) ""
  143. string(0) ""
  144. -- Iteration 21 --
  145. string(0) ""
  146. string(0) ""
  147. -- Iteration 22 --
  148. string(0) ""
  149. string(0) ""
  150. -- Iteration 23 --
  151. string(6) "string"
  152. string(6) "string"
  153. -- Iteration 24 --
  154. string(6) "string"
  155. string(6) "string"
  156. -- Iteration 25 --
  157. string(6) "Object"
  158. string(6) "Object"
  159. -- Iteration 26 --
  160. string(0) ""
  161. string(0) ""
  162. -- Iteration 27 --
  163. string(0) ""
  164. string(0) ""
  165. -- Iteration 28 --
  166. string(%d) "Resource id #%d"
  167. string(%d) "Resource id #%d"
  168. Done