sprintf_variation46.phpt 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. --TEST--
  2. Test sprintf() function : usage variations - scientific formats with integer values
  3. --FILE--
  4. <?php
  5. echo "*** Testing sprintf() : scientific formats with integer values ***\n";
  6. // array of integer 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. // array of scientific formats
  28. $scientific_formats = array(
  29. "%e", "%le", " %e", "%e ",
  30. "\t%e", "\n%e", "%4e", "%30e",
  31. );
  32. $count = 1;
  33. foreach($integer_values as $integer_value) {
  34. echo "\n-- Iteration $count --\n";
  35. foreach($scientific_formats as $format) {
  36. var_dump( sprintf($format, $integer_value) );
  37. }
  38. $count++;
  39. };
  40. echo "Done";
  41. ?>
  42. --EXPECT--
  43. *** Testing sprintf() : scientific formats with integer values ***
  44. -- Iteration 1 --
  45. string(11) "0.000000e+0"
  46. string(11) "0.000000e+0"
  47. string(12) " 0.000000e+0"
  48. string(12) "0.000000e+0 "
  49. string(12) " 0.000000e+0"
  50. string(12) "
  51. 0.000000e+0"
  52. string(11) "0.000000e+0"
  53. string(30) " 0.000000e+0"
  54. -- Iteration 2 --
  55. string(11) "1.000000e+0"
  56. string(11) "1.000000e+0"
  57. string(12) " 1.000000e+0"
  58. string(12) "1.000000e+0 "
  59. string(12) " 1.000000e+0"
  60. string(12) "
  61. 1.000000e+0"
  62. string(11) "1.000000e+0"
  63. string(30) " 1.000000e+0"
  64. -- Iteration 3 --
  65. string(12) "-1.000000e+0"
  66. string(12) "-1.000000e+0"
  67. string(13) " -1.000000e+0"
  68. string(13) "-1.000000e+0 "
  69. string(13) " -1.000000e+0"
  70. string(13) "
  71. -1.000000e+0"
  72. string(12) "-1.000000e+0"
  73. string(30) " -1.000000e+0"
  74. -- Iteration 4 --
  75. string(12) "-2.147484e+9"
  76. string(12) "-2.147484e+9"
  77. string(13) " -2.147484e+9"
  78. string(13) "-2.147484e+9 "
  79. string(13) " -2.147484e+9"
  80. string(13) "
  81. -2.147484e+9"
  82. string(12) "-2.147484e+9"
  83. string(30) " -2.147484e+9"
  84. -- Iteration 5 --
  85. string(12) "-2.147484e+9"
  86. string(12) "-2.147484e+9"
  87. string(13) " -2.147484e+9"
  88. string(13) "-2.147484e+9 "
  89. string(13) " -2.147484e+9"
  90. string(13) "
  91. -2.147484e+9"
  92. string(12) "-2.147484e+9"
  93. string(30) " -2.147484e+9"
  94. -- Iteration 6 --
  95. string(11) "2.147484e+9"
  96. string(11) "2.147484e+9"
  97. string(12) " 2.147484e+9"
  98. string(12) "2.147484e+9 "
  99. string(12) " 2.147484e+9"
  100. string(12) "
  101. 2.147484e+9"
  102. string(11) "2.147484e+9"
  103. string(30) " 2.147484e+9"
  104. -- Iteration 7 --
  105. string(11) "2.147484e+9"
  106. string(11) "2.147484e+9"
  107. string(12) " 2.147484e+9"
  108. string(12) "2.147484e+9 "
  109. string(12) " 2.147484e+9"
  110. string(12) "
  111. 2.147484e+9"
  112. string(11) "2.147484e+9"
  113. string(30) " 2.147484e+9"
  114. -- Iteration 8 --
  115. string(11) "4.667000e+3"
  116. string(11) "4.667000e+3"
  117. string(12) " 4.667000e+3"
  118. string(12) "4.667000e+3 "
  119. string(12) " 4.667000e+3"
  120. string(12) "
  121. 4.667000e+3"
  122. string(11) "4.667000e+3"
  123. string(30) " 4.667000e+3"
  124. -- Iteration 9 --
  125. string(11) "4.779000e+3"
  126. string(11) "4.779000e+3"
  127. string(12) " 4.779000e+3"
  128. string(12) "4.779000e+3 "
  129. string(12) " 4.779000e+3"
  130. string(12) "
  131. 4.779000e+3"
  132. string(11) "4.779000e+3"
  133. string(30) " 4.779000e+3"
  134. -- Iteration 10 --
  135. string(11) "4.095000e+3"
  136. string(11) "4.095000e+3"
  137. string(12) " 4.095000e+3"
  138. string(12) "4.095000e+3 "
  139. string(12) " 4.095000e+3"
  140. string(12) "
  141. 4.095000e+3"
  142. string(11) "4.095000e+3"
  143. string(30) " 4.095000e+3"
  144. -- Iteration 11 --
  145. string(11) "2.500000e+2"
  146. string(11) "2.500000e+2"
  147. string(12) " 2.500000e+2"
  148. string(12) "2.500000e+2 "
  149. string(12) " 2.500000e+2"
  150. string(12) "
  151. 2.500000e+2"
  152. string(11) "2.500000e+2"
  153. string(30) " 2.500000e+2"
  154. -- Iteration 12 --
  155. string(12) "-2.147484e+9"
  156. string(12) "-2.147484e+9"
  157. string(13) " -2.147484e+9"
  158. string(13) "-2.147484e+9 "
  159. string(13) " -2.147484e+9"
  160. string(13) "
  161. -2.147484e+9"
  162. string(12) "-2.147484e+9"
  163. string(30) " -2.147484e+9"
  164. -- Iteration 13 --
  165. string(11) "2.147484e+9"
  166. string(11) "2.147484e+9"
  167. string(12) " 2.147484e+9"
  168. string(12) "2.147484e+9 "
  169. string(12) " 2.147484e+9"
  170. string(12) "
  171. 2.147484e+9"
  172. string(11) "2.147484e+9"
  173. string(30) " 2.147484e+9"
  174. -- Iteration 14 --
  175. string(11) "2.147484e+9"
  176. string(11) "2.147484e+9"
  177. string(12) " 2.147484e+9"
  178. string(12) "2.147484e+9 "
  179. string(12) " 2.147484e+9"
  180. string(12) "
  181. 2.147484e+9"
  182. string(11) "2.147484e+9"
  183. string(30) " 2.147484e+9"
  184. -- Iteration 15 --
  185. string(11) "8.300000e+1"
  186. string(11) "8.300000e+1"
  187. string(12) " 8.300000e+1"
  188. string(12) "8.300000e+1 "
  189. string(12) " 8.300000e+1"
  190. string(12) "
  191. 8.300000e+1"
  192. string(11) "8.300000e+1"
  193. string(30) " 8.300000e+1"
  194. -- Iteration 16 --
  195. string(11) "1.000000e+0"
  196. string(11) "1.000000e+0"
  197. string(12) " 1.000000e+0"
  198. string(12) "1.000000e+0 "
  199. string(12) " 1.000000e+0"
  200. string(12) "
  201. 1.000000e+0"
  202. string(11) "1.000000e+0"
  203. string(30) " 1.000000e+0"
  204. -- Iteration 17 --
  205. string(12) "-2.147484e+9"
  206. string(12) "-2.147484e+9"
  207. string(13) " -2.147484e+9"
  208. string(13) "-2.147484e+9 "
  209. string(13) " -2.147484e+9"
  210. string(13) "
  211. -2.147484e+9"
  212. string(12) "-2.147484e+9"
  213. string(30) " -2.147484e+9"
  214. -- Iteration 18 --
  215. string(11) "2.147484e+9"
  216. string(11) "2.147484e+9"
  217. string(12) " 2.147484e+9"
  218. string(12) "2.147484e+9 "
  219. string(12) " 2.147484e+9"
  220. string(12) "
  221. 2.147484e+9"
  222. string(11) "2.147484e+9"
  223. string(30) " 2.147484e+9"
  224. Done