array_chunk_variation3.phpt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. --TEST--
  2. Test array_chunk() function : usage variations - unexpected values for 'preserve_keys'
  3. --FILE--
  4. <?php
  5. /* Prototype : array array_chunk(array $array, int $size [, bool $preserve_keys])
  6. * Description: Split array into chunks
  7. * Source code: ext/standard/array.c
  8. */
  9. /*
  10. * Testing array_chunk() function with unexpected values for 'preserve_keys'
  11. */
  12. echo "*** Testing array_chunk() : usage variations ***\n";
  13. // input array
  14. $input = array(1, 2);
  15. $size = 10;
  16. //get an unset variable
  17. $unset_var = 10;
  18. unset ($unset_var);
  19. //array of values to iterate over
  20. $values = array(
  21. // int data
  22. /*1*/ 0,
  23. 1,
  24. 12345,
  25. -2345,
  26. // float data
  27. /*5*/ 10.5,
  28. -10.5,
  29. 10.5e10,
  30. 10.6E-10,
  31. .5,
  32. // null data
  33. /*10*/ NULL,
  34. null,
  35. // empty data
  36. /*12*/ "",
  37. '',
  38. // string data
  39. /*14*/ "string",
  40. 'string',
  41. // object data
  42. /*16*/ new stdclass(),
  43. // undefined data
  44. /*17*/ @undefined_var,
  45. // unset data
  46. /*18*/ @unset_var
  47. );
  48. $count = 1;
  49. // loop through each element of the array for preserve_keys
  50. foreach($values as $value) {
  51. echo "\n-- Iteration $count --\n";
  52. var_dump( array_chunk($input, $size, $value) );
  53. $count++;
  54. }
  55. echo "Done";
  56. ?>
  57. --EXPECTF--
  58. *** Testing array_chunk() : usage variations ***
  59. -- Iteration 1 --
  60. array(1) {
  61. [0]=>
  62. array(2) {
  63. [0]=>
  64. int(1)
  65. [1]=>
  66. int(2)
  67. }
  68. }
  69. -- Iteration 2 --
  70. array(1) {
  71. [0]=>
  72. array(2) {
  73. [0]=>
  74. int(1)
  75. [1]=>
  76. int(2)
  77. }
  78. }
  79. -- Iteration 3 --
  80. array(1) {
  81. [0]=>
  82. array(2) {
  83. [0]=>
  84. int(1)
  85. [1]=>
  86. int(2)
  87. }
  88. }
  89. -- Iteration 4 --
  90. array(1) {
  91. [0]=>
  92. array(2) {
  93. [0]=>
  94. int(1)
  95. [1]=>
  96. int(2)
  97. }
  98. }
  99. -- Iteration 5 --
  100. array(1) {
  101. [0]=>
  102. array(2) {
  103. [0]=>
  104. int(1)
  105. [1]=>
  106. int(2)
  107. }
  108. }
  109. -- Iteration 6 --
  110. array(1) {
  111. [0]=>
  112. array(2) {
  113. [0]=>
  114. int(1)
  115. [1]=>
  116. int(2)
  117. }
  118. }
  119. -- Iteration 7 --
  120. array(1) {
  121. [0]=>
  122. array(2) {
  123. [0]=>
  124. int(1)
  125. [1]=>
  126. int(2)
  127. }
  128. }
  129. -- Iteration 8 --
  130. array(1) {
  131. [0]=>
  132. array(2) {
  133. [0]=>
  134. int(1)
  135. [1]=>
  136. int(2)
  137. }
  138. }
  139. -- Iteration 9 --
  140. array(1) {
  141. [0]=>
  142. array(2) {
  143. [0]=>
  144. int(1)
  145. [1]=>
  146. int(2)
  147. }
  148. }
  149. -- Iteration 10 --
  150. array(1) {
  151. [0]=>
  152. array(2) {
  153. [0]=>
  154. int(1)
  155. [1]=>
  156. int(2)
  157. }
  158. }
  159. -- Iteration 11 --
  160. array(1) {
  161. [0]=>
  162. array(2) {
  163. [0]=>
  164. int(1)
  165. [1]=>
  166. int(2)
  167. }
  168. }
  169. -- Iteration 12 --
  170. array(1) {
  171. [0]=>
  172. array(2) {
  173. [0]=>
  174. int(1)
  175. [1]=>
  176. int(2)
  177. }
  178. }
  179. -- Iteration 13 --
  180. array(1) {
  181. [0]=>
  182. array(2) {
  183. [0]=>
  184. int(1)
  185. [1]=>
  186. int(2)
  187. }
  188. }
  189. -- Iteration 14 --
  190. array(1) {
  191. [0]=>
  192. array(2) {
  193. [0]=>
  194. int(1)
  195. [1]=>
  196. int(2)
  197. }
  198. }
  199. -- Iteration 15 --
  200. array(1) {
  201. [0]=>
  202. array(2) {
  203. [0]=>
  204. int(1)
  205. [1]=>
  206. int(2)
  207. }
  208. }
  209. -- Iteration 16 --
  210. Warning: array_chunk() expects parameter 3 to be boolean, object given in %s on line %d
  211. NULL
  212. -- Iteration 17 --
  213. array(1) {
  214. [0]=>
  215. array(2) {
  216. [0]=>
  217. int(1)
  218. [1]=>
  219. int(2)
  220. }
  221. }
  222. -- Iteration 18 --
  223. array(1) {
  224. [0]=>
  225. array(2) {
  226. [0]=>
  227. int(1)
  228. [1]=>
  229. int(2)
  230. }
  231. }
  232. Done