array_fill_variation5.phpt 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. --TEST--
  2. Test array_fill() function : usage variations - different types of array values for 'val' argument
  3. --FILE--
  4. <?php
  5. /* Prototype : array array_fill(int $start_key, int $num, mixed $val)
  6. * Description: Create an array containing num elements starting with index start_key each initialized to val
  7. * Source code: ext/standard/array.c
  8. */
  9. /*
  10. * testing array_fill() by passing different types of array values for 'val' argument
  11. */
  12. echo "*** Testing array_fill() : usage variations ***\n";
  13. // Initialise function arguments not being substituted
  14. $start_key = 0;
  15. $num = 2;
  16. //array of different types of array values for 'val' argument
  17. $values = array(
  18. /* 1 */ array(),
  19. array(1 , 2 , 3 , 4),
  20. array(1 => "Hi" , 2 => "Hello"),
  21. array("Saffron" , "White" , "Green"),
  22. /* 5 */ array('color' => 'red' , 'item' => 'pen'),
  23. array( 'color' => 'red' , 2 => 'green ' ),
  24. array("colour" => "red" , "item" => "pen"),
  25. array( TRUE => "red" , FALSE => "green" ),
  26. array( true => "red" , FALSE => "green" ),
  27. /* 10 */ array( 1 => "Hi" , "color" => "red" , 'item' => 'pen'),
  28. array( NULL => "Hi", '1' => "Hello" , "1" => "Green"),
  29. array( ""=>1, "color" => "green"),
  30. /* 13 */ array('Saffron' , 'White' , 'Green')
  31. );
  32. // loop through each element of the values array for 'val' argument
  33. // check the working of array_fill()
  34. echo "--- Testing array_fill() with different types of array values for 'val' argument ---\n";
  35. $counter = 1;
  36. for($i = 0; $i < count($values); $i++)
  37. {
  38. echo "-- Iteration $counter --\n";
  39. $val = $values[$i];
  40. var_dump( array_fill($start_key , $num , $val) );
  41. $counter++;
  42. }
  43. echo "Done";
  44. ?>
  45. --EXPECTF--
  46. *** Testing array_fill() : usage variations ***
  47. --- Testing array_fill() with different types of array values for 'val' argument ---
  48. -- Iteration 1 --
  49. array(2) {
  50. [0]=>
  51. array(0) {
  52. }
  53. [1]=>
  54. array(0) {
  55. }
  56. }
  57. -- Iteration 2 --
  58. array(2) {
  59. [0]=>
  60. array(4) {
  61. [0]=>
  62. int(1)
  63. [1]=>
  64. int(2)
  65. [2]=>
  66. int(3)
  67. [3]=>
  68. int(4)
  69. }
  70. [1]=>
  71. array(4) {
  72. [0]=>
  73. int(1)
  74. [1]=>
  75. int(2)
  76. [2]=>
  77. int(3)
  78. [3]=>
  79. int(4)
  80. }
  81. }
  82. -- Iteration 3 --
  83. array(2) {
  84. [0]=>
  85. array(2) {
  86. [1]=>
  87. string(2) "Hi"
  88. [2]=>
  89. string(5) "Hello"
  90. }
  91. [1]=>
  92. array(2) {
  93. [1]=>
  94. string(2) "Hi"
  95. [2]=>
  96. string(5) "Hello"
  97. }
  98. }
  99. -- Iteration 4 --
  100. array(2) {
  101. [0]=>
  102. array(3) {
  103. [0]=>
  104. string(7) "Saffron"
  105. [1]=>
  106. string(5) "White"
  107. [2]=>
  108. string(5) "Green"
  109. }
  110. [1]=>
  111. array(3) {
  112. [0]=>
  113. string(7) "Saffron"
  114. [1]=>
  115. string(5) "White"
  116. [2]=>
  117. string(5) "Green"
  118. }
  119. }
  120. -- Iteration 5 --
  121. array(2) {
  122. [0]=>
  123. array(2) {
  124. ["color"]=>
  125. string(3) "red"
  126. ["item"]=>
  127. string(3) "pen"
  128. }
  129. [1]=>
  130. array(2) {
  131. ["color"]=>
  132. string(3) "red"
  133. ["item"]=>
  134. string(3) "pen"
  135. }
  136. }
  137. -- Iteration 6 --
  138. array(2) {
  139. [0]=>
  140. array(2) {
  141. ["color"]=>
  142. string(3) "red"
  143. [2]=>
  144. string(6) "green "
  145. }
  146. [1]=>
  147. array(2) {
  148. ["color"]=>
  149. string(3) "red"
  150. [2]=>
  151. string(6) "green "
  152. }
  153. }
  154. -- Iteration 7 --
  155. array(2) {
  156. [0]=>
  157. array(2) {
  158. ["colour"]=>
  159. string(3) "red"
  160. ["item"]=>
  161. string(3) "pen"
  162. }
  163. [1]=>
  164. array(2) {
  165. ["colour"]=>
  166. string(3) "red"
  167. ["item"]=>
  168. string(3) "pen"
  169. }
  170. }
  171. -- Iteration 8 --
  172. array(2) {
  173. [0]=>
  174. array(2) {
  175. [1]=>
  176. string(3) "red"
  177. [0]=>
  178. string(5) "green"
  179. }
  180. [1]=>
  181. array(2) {
  182. [1]=>
  183. string(3) "red"
  184. [0]=>
  185. string(5) "green"
  186. }
  187. }
  188. -- Iteration 9 --
  189. array(2) {
  190. [0]=>
  191. array(2) {
  192. [1]=>
  193. string(3) "red"
  194. [0]=>
  195. string(5) "green"
  196. }
  197. [1]=>
  198. array(2) {
  199. [1]=>
  200. string(3) "red"
  201. [0]=>
  202. string(5) "green"
  203. }
  204. }
  205. -- Iteration 10 --
  206. array(2) {
  207. [0]=>
  208. array(3) {
  209. [1]=>
  210. string(2) "Hi"
  211. ["color"]=>
  212. string(3) "red"
  213. ["item"]=>
  214. string(3) "pen"
  215. }
  216. [1]=>
  217. array(3) {
  218. [1]=>
  219. string(2) "Hi"
  220. ["color"]=>
  221. string(3) "red"
  222. ["item"]=>
  223. string(3) "pen"
  224. }
  225. }
  226. -- Iteration 11 --
  227. array(2) {
  228. [0]=>
  229. array(2) {
  230. [""]=>
  231. string(2) "Hi"
  232. [1]=>
  233. string(5) "Green"
  234. }
  235. [1]=>
  236. array(2) {
  237. [""]=>
  238. string(2) "Hi"
  239. [1]=>
  240. string(5) "Green"
  241. }
  242. }
  243. -- Iteration 12 --
  244. array(2) {
  245. [0]=>
  246. array(2) {
  247. [""]=>
  248. int(1)
  249. ["color"]=>
  250. string(5) "green"
  251. }
  252. [1]=>
  253. array(2) {
  254. [""]=>
  255. int(1)
  256. ["color"]=>
  257. string(5) "green"
  258. }
  259. }
  260. -- Iteration 13 --
  261. array(2) {
  262. [0]=>
  263. array(3) {
  264. [0]=>
  265. string(7) "Saffron"
  266. [1]=>
  267. string(5) "White"
  268. [2]=>
  269. string(5) "Green"
  270. }
  271. [1]=>
  272. array(3) {
  273. [0]=>
  274. string(7) "Saffron"
  275. [1]=>
  276. string(5) "White"
  277. [2]=>
  278. string(5) "Green"
  279. }
  280. }
  281. Done