sprintf_variation3.phpt 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. --TEST--
  2. Test sprintf() function : usage variations - int formats with int values
  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. echo "*** Testing sprintf() : integer formats with integer values ***\n";
  10. // different valid integer vlaues
  11. $valid_ints = array(
  12. 0,
  13. 1,
  14. -1,
  15. -2147483648, // max negative integer value
  16. -2147483647,
  17. 2147483647, // max positive integer value
  18. 2147483640,
  19. 0x123B, // integer as hexadecimal
  20. 0x12ab,
  21. 0Xfff,
  22. 0XFA,
  23. -0x80000000, // max negative integer as hexadecimal
  24. 0x7fffffff, // max postive integer as hexadecimal
  25. 0x7FFFFFFF, // max postive integer as hexadecimal
  26. 0123, // integer as octal
  27. 01912, // should be quivalent to octal 1
  28. -020000000000, // max negative integer as octal
  29. 017777777777 // max positive integer as octal
  30. );
  31. // various integer formats
  32. $int_formats = array(
  33. "%d", "%hd", "%ld",
  34. "%Ld", " %d", "%d ",
  35. "\t%d", "\n%d", "%4d",
  36. "%30d", "%[0-9]", "%*d"
  37. );
  38. $count = 1;
  39. foreach($valid_ints as $int_value) {
  40. echo "\n-- Iteration $count --\n";
  41. foreach($int_formats as $format) {
  42. var_dump( sprintf($format, $int_value) );
  43. }
  44. $count++;
  45. };
  46. echo "Done";
  47. ?>
  48. --EXPECTF--
  49. *** Testing sprintf() : integer formats with integer values ***
  50. -- Iteration 1 --
  51. string(1) "0"
  52. string(1) "d"
  53. string(1) "0"
  54. string(1) "d"
  55. string(2) " 0"
  56. string(2) "0 "
  57. string(2) " 0"
  58. string(2) "
  59. 0"
  60. string(4) " 0"
  61. string(30) " 0"
  62. string(4) "0-9]"
  63. string(1) "d"
  64. -- Iteration 2 --
  65. string(1) "1"
  66. string(1) "d"
  67. string(1) "1"
  68. string(1) "d"
  69. string(2) " 1"
  70. string(2) "1 "
  71. string(2) " 1"
  72. string(2) "
  73. 1"
  74. string(4) " 1"
  75. string(30) " 1"
  76. string(4) "0-9]"
  77. string(1) "d"
  78. -- Iteration 3 --
  79. string(2) "-1"
  80. string(1) "d"
  81. string(2) "-1"
  82. string(1) "d"
  83. string(3) " -1"
  84. string(3) "-1 "
  85. string(3) " -1"
  86. string(3) "
  87. -1"
  88. string(4) " -1"
  89. string(30) " -1"
  90. string(4) "0-9]"
  91. string(1) "d"
  92. -- Iteration 4 --
  93. string(11) "-2147483648"
  94. string(1) "d"
  95. string(11) "-2147483648"
  96. string(1) "d"
  97. string(12) " -2147483648"
  98. string(12) "-2147483648 "
  99. string(12) " -2147483648"
  100. string(12) "
  101. -2147483648"
  102. string(11) "-2147483648"
  103. string(30) " -2147483648"
  104. string(4) "0-9]"
  105. string(1) "d"
  106. -- Iteration 5 --
  107. string(11) "-2147483647"
  108. string(1) "d"
  109. string(11) "-2147483647"
  110. string(1) "d"
  111. string(12) " -2147483647"
  112. string(12) "-2147483647 "
  113. string(12) " -2147483647"
  114. string(12) "
  115. -2147483647"
  116. string(11) "-2147483647"
  117. string(30) " -2147483647"
  118. string(4) "0-9]"
  119. string(1) "d"
  120. -- Iteration 6 --
  121. string(10) "2147483647"
  122. string(1) "d"
  123. string(10) "2147483647"
  124. string(1) "d"
  125. string(11) " 2147483647"
  126. string(11) "2147483647 "
  127. string(11) " 2147483647"
  128. string(11) "
  129. 2147483647"
  130. string(10) "2147483647"
  131. string(30) " 2147483647"
  132. string(4) "0-9]"
  133. string(1) "d"
  134. -- Iteration 7 --
  135. string(10) "2147483640"
  136. string(1) "d"
  137. string(10) "2147483640"
  138. string(1) "d"
  139. string(11) " 2147483640"
  140. string(11) "2147483640 "
  141. string(11) " 2147483640"
  142. string(11) "
  143. 2147483640"
  144. string(10) "2147483640"
  145. string(30) " 2147483640"
  146. string(4) "0-9]"
  147. string(1) "d"
  148. -- Iteration 8 --
  149. string(4) "4667"
  150. string(1) "d"
  151. string(4) "4667"
  152. string(1) "d"
  153. string(5) " 4667"
  154. string(5) "4667 "
  155. string(5) " 4667"
  156. string(5) "
  157. 4667"
  158. string(4) "4667"
  159. string(30) " 4667"
  160. string(4) "0-9]"
  161. string(1) "d"
  162. -- Iteration 9 --
  163. string(4) "4779"
  164. string(1) "d"
  165. string(4) "4779"
  166. string(1) "d"
  167. string(5) " 4779"
  168. string(5) "4779 "
  169. string(5) " 4779"
  170. string(5) "
  171. 4779"
  172. string(4) "4779"
  173. string(30) " 4779"
  174. string(4) "0-9]"
  175. string(1) "d"
  176. -- Iteration 10 --
  177. string(4) "4095"
  178. string(1) "d"
  179. string(4) "4095"
  180. string(1) "d"
  181. string(5) " 4095"
  182. string(5) "4095 "
  183. string(5) " 4095"
  184. string(5) "
  185. 4095"
  186. string(4) "4095"
  187. string(30) " 4095"
  188. string(4) "0-9]"
  189. string(1) "d"
  190. -- Iteration 11 --
  191. string(3) "250"
  192. string(1) "d"
  193. string(3) "250"
  194. string(1) "d"
  195. string(4) " 250"
  196. string(4) "250 "
  197. string(4) " 250"
  198. string(4) "
  199. 250"
  200. string(4) " 250"
  201. string(30) " 250"
  202. string(4) "0-9]"
  203. string(1) "d"
  204. -- Iteration 12 --
  205. string(11) "-2147483648"
  206. string(1) "d"
  207. string(11) "-2147483648"
  208. string(1) "d"
  209. string(12) " -2147483648"
  210. string(12) "-2147483648 "
  211. string(12) " -2147483648"
  212. string(12) "
  213. -2147483648"
  214. string(11) "-2147483648"
  215. string(30) " -2147483648"
  216. string(4) "0-9]"
  217. string(1) "d"
  218. -- Iteration 13 --
  219. string(10) "2147483647"
  220. string(1) "d"
  221. string(10) "2147483647"
  222. string(1) "d"
  223. string(11) " 2147483647"
  224. string(11) "2147483647 "
  225. string(11) " 2147483647"
  226. string(11) "
  227. 2147483647"
  228. string(10) "2147483647"
  229. string(30) " 2147483647"
  230. string(4) "0-9]"
  231. string(1) "d"
  232. -- Iteration 14 --
  233. string(10) "2147483647"
  234. string(1) "d"
  235. string(10) "2147483647"
  236. string(1) "d"
  237. string(11) " 2147483647"
  238. string(11) "2147483647 "
  239. string(11) " 2147483647"
  240. string(11) "
  241. 2147483647"
  242. string(10) "2147483647"
  243. string(30) " 2147483647"
  244. string(4) "0-9]"
  245. string(1) "d"
  246. -- Iteration 15 --
  247. string(2) "83"
  248. string(1) "d"
  249. string(2) "83"
  250. string(1) "d"
  251. string(3) " 83"
  252. string(3) "83 "
  253. string(3) " 83"
  254. string(3) "
  255. 83"
  256. string(4) " 83"
  257. string(30) " 83"
  258. string(4) "0-9]"
  259. string(1) "d"
  260. -- Iteration 16 --
  261. string(1) "1"
  262. string(1) "d"
  263. string(1) "1"
  264. string(1) "d"
  265. string(2) " 1"
  266. string(2) "1 "
  267. string(2) " 1"
  268. string(2) "
  269. 1"
  270. string(4) " 1"
  271. string(30) " 1"
  272. string(4) "0-9]"
  273. string(1) "d"
  274. -- Iteration 17 --
  275. string(11) "-2147483648"
  276. string(1) "d"
  277. string(11) "-2147483648"
  278. string(1) "d"
  279. string(12) " -2147483648"
  280. string(12) "-2147483648 "
  281. string(12) " -2147483648"
  282. string(12) "
  283. -2147483648"
  284. string(11) "-2147483648"
  285. string(30) " -2147483648"
  286. string(4) "0-9]"
  287. string(1) "d"
  288. -- Iteration 18 --
  289. string(10) "2147483647"
  290. string(1) "d"
  291. string(10) "2147483647"
  292. string(1) "d"
  293. string(11) " 2147483647"
  294. string(11) "2147483647 "
  295. string(11) " 2147483647"
  296. string(11) "
  297. 2147483647"
  298. string(10) "2147483647"
  299. string(30) " 2147483647"
  300. string(4) "0-9]"
  301. string(1) "d"
  302. Done