sprintf_variation10.phpt 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. --TEST--
  2. Test sprintf() function : usage variations - float formats with integer values
  3. --FILE--
  4. <?php
  5. echo "*** Testing sprintf() : float formats with integer values ***\n";
  6. // array of int type values
  7. $integer_values = array (
  8. 0,
  9. 1,
  10. -1,
  11. -2147483648, // max negative integer value
  12. -2147483647,
  13. 2147483647, // max positive integer value
  14. 2147483640,
  15. 0x123B, // integer as hexadecimal
  16. 0x12ab,
  17. 0Xfff,
  18. 0XFA,
  19. -0x80000000, // max negative integer as hexadecimal
  20. 0x7fffffff, // max positive integer as hexadecimal
  21. 0x7FFFFFFF, // max positive integer as hexadecimal
  22. 0123, // integer as octal
  23. 01, // should be quivalent to octal 1
  24. -020000000000, // max negative integer as octal
  25. 017777777777 // max positive integer as octal
  26. );
  27. // various float formats
  28. $float_formats = array(
  29. "%f", "%lf", " %f", "%f ",
  30. "\t%f", "\n%f", "%4f", "%30f",
  31. );
  32. $count = 1;
  33. foreach($integer_values as $int_value) {
  34. echo "\n-- Iteration $count --\n";
  35. foreach($float_formats as $format) {
  36. // with two arguments
  37. var_dump( sprintf($format, $int_value) );
  38. }
  39. $count++;
  40. };
  41. echo "Done";
  42. ?>
  43. --EXPECT--
  44. *** Testing sprintf() : float formats with integer values ***
  45. -- Iteration 1 --
  46. string(8) "0.000000"
  47. string(8) "0.000000"
  48. string(9) " 0.000000"
  49. string(9) "0.000000 "
  50. string(9) " 0.000000"
  51. string(9) "
  52. 0.000000"
  53. string(8) "0.000000"
  54. string(30) " 0.000000"
  55. -- Iteration 2 --
  56. string(8) "1.000000"
  57. string(8) "1.000000"
  58. string(9) " 1.000000"
  59. string(9) "1.000000 "
  60. string(9) " 1.000000"
  61. string(9) "
  62. 1.000000"
  63. string(8) "1.000000"
  64. string(30) " 1.000000"
  65. -- Iteration 3 --
  66. string(9) "-1.000000"
  67. string(9) "-1.000000"
  68. string(10) " -1.000000"
  69. string(10) "-1.000000 "
  70. string(10) " -1.000000"
  71. string(10) "
  72. -1.000000"
  73. string(9) "-1.000000"
  74. string(30) " -1.000000"
  75. -- Iteration 4 --
  76. string(18) "-2147483648.000000"
  77. string(18) "-2147483648.000000"
  78. string(19) " -2147483648.000000"
  79. string(19) "-2147483648.000000 "
  80. string(19) " -2147483648.000000"
  81. string(19) "
  82. -2147483648.000000"
  83. string(18) "-2147483648.000000"
  84. string(30) " -2147483648.000000"
  85. -- Iteration 5 --
  86. string(18) "-2147483647.000000"
  87. string(18) "-2147483647.000000"
  88. string(19) " -2147483647.000000"
  89. string(19) "-2147483647.000000 "
  90. string(19) " -2147483647.000000"
  91. string(19) "
  92. -2147483647.000000"
  93. string(18) "-2147483647.000000"
  94. string(30) " -2147483647.000000"
  95. -- Iteration 6 --
  96. string(17) "2147483647.000000"
  97. string(17) "2147483647.000000"
  98. string(18) " 2147483647.000000"
  99. string(18) "2147483647.000000 "
  100. string(18) " 2147483647.000000"
  101. string(18) "
  102. 2147483647.000000"
  103. string(17) "2147483647.000000"
  104. string(30) " 2147483647.000000"
  105. -- Iteration 7 --
  106. string(17) "2147483640.000000"
  107. string(17) "2147483640.000000"
  108. string(18) " 2147483640.000000"
  109. string(18) "2147483640.000000 "
  110. string(18) " 2147483640.000000"
  111. string(18) "
  112. 2147483640.000000"
  113. string(17) "2147483640.000000"
  114. string(30) " 2147483640.000000"
  115. -- Iteration 8 --
  116. string(11) "4667.000000"
  117. string(11) "4667.000000"
  118. string(12) " 4667.000000"
  119. string(12) "4667.000000 "
  120. string(12) " 4667.000000"
  121. string(12) "
  122. 4667.000000"
  123. string(11) "4667.000000"
  124. string(30) " 4667.000000"
  125. -- Iteration 9 --
  126. string(11) "4779.000000"
  127. string(11) "4779.000000"
  128. string(12) " 4779.000000"
  129. string(12) "4779.000000 "
  130. string(12) " 4779.000000"
  131. string(12) "
  132. 4779.000000"
  133. string(11) "4779.000000"
  134. string(30) " 4779.000000"
  135. -- Iteration 10 --
  136. string(11) "4095.000000"
  137. string(11) "4095.000000"
  138. string(12) " 4095.000000"
  139. string(12) "4095.000000 "
  140. string(12) " 4095.000000"
  141. string(12) "
  142. 4095.000000"
  143. string(11) "4095.000000"
  144. string(30) " 4095.000000"
  145. -- Iteration 11 --
  146. string(10) "250.000000"
  147. string(10) "250.000000"
  148. string(11) " 250.000000"
  149. string(11) "250.000000 "
  150. string(11) " 250.000000"
  151. string(11) "
  152. 250.000000"
  153. string(10) "250.000000"
  154. string(30) " 250.000000"
  155. -- Iteration 12 --
  156. string(18) "-2147483648.000000"
  157. string(18) "-2147483648.000000"
  158. string(19) " -2147483648.000000"
  159. string(19) "-2147483648.000000 "
  160. string(19) " -2147483648.000000"
  161. string(19) "
  162. -2147483648.000000"
  163. string(18) "-2147483648.000000"
  164. string(30) " -2147483648.000000"
  165. -- Iteration 13 --
  166. string(17) "2147483647.000000"
  167. string(17) "2147483647.000000"
  168. string(18) " 2147483647.000000"
  169. string(18) "2147483647.000000 "
  170. string(18) " 2147483647.000000"
  171. string(18) "
  172. 2147483647.000000"
  173. string(17) "2147483647.000000"
  174. string(30) " 2147483647.000000"
  175. -- Iteration 14 --
  176. string(17) "2147483647.000000"
  177. string(17) "2147483647.000000"
  178. string(18) " 2147483647.000000"
  179. string(18) "2147483647.000000 "
  180. string(18) " 2147483647.000000"
  181. string(18) "
  182. 2147483647.000000"
  183. string(17) "2147483647.000000"
  184. string(30) " 2147483647.000000"
  185. -- Iteration 15 --
  186. string(9) "83.000000"
  187. string(9) "83.000000"
  188. string(10) " 83.000000"
  189. string(10) "83.000000 "
  190. string(10) " 83.000000"
  191. string(10) "
  192. 83.000000"
  193. string(9) "83.000000"
  194. string(30) " 83.000000"
  195. -- Iteration 16 --
  196. string(8) "1.000000"
  197. string(8) "1.000000"
  198. string(9) " 1.000000"
  199. string(9) "1.000000 "
  200. string(9) " 1.000000"
  201. string(9) "
  202. 1.000000"
  203. string(8) "1.000000"
  204. string(30) " 1.000000"
  205. -- Iteration 17 --
  206. string(18) "-2147483648.000000"
  207. string(18) "-2147483648.000000"
  208. string(19) " -2147483648.000000"
  209. string(19) "-2147483648.000000 "
  210. string(19) " -2147483648.000000"
  211. string(19) "
  212. -2147483648.000000"
  213. string(18) "-2147483648.000000"
  214. string(30) " -2147483648.000000"
  215. -- Iteration 18 --
  216. string(17) "2147483647.000000"
  217. string(17) "2147483647.000000"
  218. string(18) " 2147483647.000000"
  219. string(18) "2147483647.000000 "
  220. string(18) " 2147483647.000000"
  221. string(18) "
  222. 2147483647.000000"
  223. string(17) "2147483647.000000"
  224. string(30) " 2147483647.000000"
  225. Done