array_chunk_basic2.phpt 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. --TEST--
  2. Test array_chunk() function : basic functionality - 'preserve_keys' as true/false
  3. --FILE--
  4. <?php
  5. /* Prototype : array array_chunk(array $array, int $size [, bool $preserve_keys])
  6. * Description: Split array into chunks
  7. * Chunks an array into size large chunks.
  8. * Source code: ext/standard/array.c
  9. */
  10. echo "*** Testing array_chunk() : basic functionality ***\n";
  11. $size = 2;
  12. $input_arrays = array(
  13. // array with default keys - numeric values
  14. array(1, 2, 3, 4, 5),
  15. // array with default keys - string values
  16. array('value1', "value2", "value3"),
  17. // associative arrays - key as string
  18. array('key1' => 1, "key2" => 2, "key3" => 3),
  19. // associative arrays - key as numeric
  20. array(1 => 'one', 2 => "two", 3 => "three"),
  21. // array containing elements with/without keys
  22. array(1 => 'one','two', 3 => 'three', 4, "five" => 5)
  23. );
  24. $count = 1;
  25. // loop through each element of the array for input
  26. foreach ($input_arrays as $input_array){
  27. echo "\n-- Iteration $count --\n";
  28. var_dump( array_chunk($input_array, $size, true) );
  29. var_dump( array_chunk($input_array, $size, false) );
  30. $count++;
  31. }
  32. echo "Done"
  33. ?>
  34. --EXPECT--
  35. *** Testing array_chunk() : basic functionality ***
  36. -- Iteration 1 --
  37. array(3) {
  38. [0]=>
  39. array(2) {
  40. [0]=>
  41. int(1)
  42. [1]=>
  43. int(2)
  44. }
  45. [1]=>
  46. array(2) {
  47. [2]=>
  48. int(3)
  49. [3]=>
  50. int(4)
  51. }
  52. [2]=>
  53. array(1) {
  54. [4]=>
  55. int(5)
  56. }
  57. }
  58. array(3) {
  59. [0]=>
  60. array(2) {
  61. [0]=>
  62. int(1)
  63. [1]=>
  64. int(2)
  65. }
  66. [1]=>
  67. array(2) {
  68. [0]=>
  69. int(3)
  70. [1]=>
  71. int(4)
  72. }
  73. [2]=>
  74. array(1) {
  75. [0]=>
  76. int(5)
  77. }
  78. }
  79. -- Iteration 2 --
  80. array(2) {
  81. [0]=>
  82. array(2) {
  83. [0]=>
  84. string(6) "value1"
  85. [1]=>
  86. string(6) "value2"
  87. }
  88. [1]=>
  89. array(1) {
  90. [2]=>
  91. string(6) "value3"
  92. }
  93. }
  94. array(2) {
  95. [0]=>
  96. array(2) {
  97. [0]=>
  98. string(6) "value1"
  99. [1]=>
  100. string(6) "value2"
  101. }
  102. [1]=>
  103. array(1) {
  104. [0]=>
  105. string(6) "value3"
  106. }
  107. }
  108. -- Iteration 3 --
  109. array(2) {
  110. [0]=>
  111. array(2) {
  112. ["key1"]=>
  113. int(1)
  114. ["key2"]=>
  115. int(2)
  116. }
  117. [1]=>
  118. array(1) {
  119. ["key3"]=>
  120. int(3)
  121. }
  122. }
  123. array(2) {
  124. [0]=>
  125. array(2) {
  126. [0]=>
  127. int(1)
  128. [1]=>
  129. int(2)
  130. }
  131. [1]=>
  132. array(1) {
  133. [0]=>
  134. int(3)
  135. }
  136. }
  137. -- Iteration 4 --
  138. array(2) {
  139. [0]=>
  140. array(2) {
  141. [1]=>
  142. string(3) "one"
  143. [2]=>
  144. string(3) "two"
  145. }
  146. [1]=>
  147. array(1) {
  148. [3]=>
  149. string(5) "three"
  150. }
  151. }
  152. array(2) {
  153. [0]=>
  154. array(2) {
  155. [0]=>
  156. string(3) "one"
  157. [1]=>
  158. string(3) "two"
  159. }
  160. [1]=>
  161. array(1) {
  162. [0]=>
  163. string(5) "three"
  164. }
  165. }
  166. -- Iteration 5 --
  167. array(3) {
  168. [0]=>
  169. array(2) {
  170. [1]=>
  171. string(3) "one"
  172. [2]=>
  173. string(3) "two"
  174. }
  175. [1]=>
  176. array(2) {
  177. [3]=>
  178. string(5) "three"
  179. [4]=>
  180. int(4)
  181. }
  182. [2]=>
  183. array(1) {
  184. ["five"]=>
  185. int(5)
  186. }
  187. }
  188. array(3) {
  189. [0]=>
  190. array(2) {
  191. [0]=>
  192. string(3) "one"
  193. [1]=>
  194. string(3) "two"
  195. }
  196. [1]=>
  197. array(2) {
  198. [0]=>
  199. string(5) "three"
  200. [1]=>
  201. int(4)
  202. }
  203. [2]=>
  204. array(1) {
  205. [0]=>
  206. int(5)
  207. }
  208. }
  209. Done