printf_variation2.phpt 3.6 KB

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