001.phpt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. --TEST--
  2. Test array_merge and array_walk
  3. --INI--
  4. precision=14
  5. --FILE--
  6. <?php
  7. require(__DIR__ . '/data.inc');
  8. /*
  9. ** Create sample arrays
  10. ** Test alpha, numeric (decimal, hex, octal) and special data
  11. **
  12. **
  13. */
  14. /* Helper function to build testing arrays */
  15. function make_nested_array ($depth, $breadth, $function = NULL, $args = array ()) {
  16. for ($x = 0; $x < $breadth; ++$x) {
  17. if (NULL === $function) {
  18. $array = array (0);
  19. } else {
  20. $array = array (call_user_func_array ($function, $args));
  21. }
  22. for ($y = 1; $y < $depth; ++$y) {
  23. $array[0] = array ($array[0]);
  24. }
  25. $temp[$x] = $array;
  26. }
  27. return $temp;
  28. }
  29. /* Nested array */
  30. $data2 = make_nested_array (3, 3);
  31. $data = array_merge($data, $data2);
  32. var_dump ($data);
  33. function echo_kv ($value, $key) {
  34. var_dump ($key);
  35. var_dump ($value);
  36. }
  37. echo " -- Testing array_walk() -- \n";
  38. array_walk ($data, 'echo_kv');
  39. ?>
  40. --EXPECT--
  41. array(11) {
  42. [0]=>
  43. string(3) "PHP"
  44. [1]=>
  45. string(27) "PHP: Hypertext Preprocessor"
  46. [2]=>
  47. string(4) "Test"
  48. ["test"]=>
  49. int(27)
  50. [3]=>
  51. string(4) "test"
  52. [4]=>
  53. array(2) {
  54. [0]=>
  55. string(6) "banana"
  56. [1]=>
  57. string(6) "orange"
  58. }
  59. [5]=>
  60. string(6) "monkey"
  61. [6]=>
  62. float(-0.3333333333333333)
  63. [7]=>
  64. array(1) {
  65. [0]=>
  66. array(1) {
  67. [0]=>
  68. array(1) {
  69. [0]=>
  70. int(0)
  71. }
  72. }
  73. }
  74. [8]=>
  75. array(1) {
  76. [0]=>
  77. array(1) {
  78. [0]=>
  79. array(1) {
  80. [0]=>
  81. int(0)
  82. }
  83. }
  84. }
  85. [9]=>
  86. array(1) {
  87. [0]=>
  88. array(1) {
  89. [0]=>
  90. array(1) {
  91. [0]=>
  92. int(0)
  93. }
  94. }
  95. }
  96. }
  97. -- Testing array_walk() --
  98. int(0)
  99. string(3) "PHP"
  100. int(1)
  101. string(27) "PHP: Hypertext Preprocessor"
  102. int(2)
  103. string(4) "Test"
  104. string(4) "test"
  105. int(27)
  106. int(3)
  107. string(4) "test"
  108. int(4)
  109. array(2) {
  110. [0]=>
  111. string(6) "banana"
  112. [1]=>
  113. string(6) "orange"
  114. }
  115. int(5)
  116. string(6) "monkey"
  117. int(6)
  118. float(-0.3333333333333333)
  119. int(7)
  120. array(1) {
  121. [0]=>
  122. array(1) {
  123. [0]=>
  124. array(1) {
  125. [0]=>
  126. int(0)
  127. }
  128. }
  129. }
  130. int(8)
  131. array(1) {
  132. [0]=>
  133. array(1) {
  134. [0]=>
  135. array(1) {
  136. [0]=>
  137. int(0)
  138. }
  139. }
  140. }
  141. int(9)
  142. array(1) {
  143. [0]=>
  144. array(1) {
  145. [0]=>
  146. array(1) {
  147. [0]=>
  148. int(0)
  149. }
  150. }
  151. }