each_variation5.phpt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. --TEST--
  2. Test each() function : usage variations - Multi-dimensional arrays
  3. --FILE--
  4. <?php
  5. /* Prototype : array each(array $arr)
  6. * Description: Return the currently pointed key..value pair in the passed array,
  7. * and advance the pointer to the next element
  8. * Source code: Zend/zend_builtin_functions.c
  9. */
  10. /*
  11. * Test behaviour of each() when passed:
  12. * 1. a two-dimensional array
  13. * 2. a sub-array
  14. */
  15. echo "*** Testing each() : usage variations ***\n";
  16. $arr = array ('zero',
  17. array(1, 2, 3),
  18. 'one' => 'un',
  19. array('a', 'b', 'c')
  20. );
  21. echo "\n-- Pass each() a two-dimensional array --\n";
  22. for ($i = 1; $i < count($arr); $i++) {
  23. var_dump( each($arr) );
  24. }
  25. echo "\n-- Pass each() a sub-array --\n";
  26. var_dump( each($arr[2]));
  27. echo "Done";
  28. ?>
  29. --EXPECTF--
  30. *** Testing each() : usage variations ***
  31. -- Pass each() a two-dimensional array --
  32. Deprecated: The each() function is deprecated. This message will be suppressed on further calls in %s on line %d
  33. array(4) {
  34. [1]=>
  35. string(4) "zero"
  36. ["value"]=>
  37. string(4) "zero"
  38. [0]=>
  39. int(0)
  40. ["key"]=>
  41. int(0)
  42. }
  43. array(4) {
  44. [1]=>
  45. array(3) {
  46. [0]=>
  47. int(1)
  48. [1]=>
  49. int(2)
  50. [2]=>
  51. int(3)
  52. }
  53. ["value"]=>
  54. array(3) {
  55. [0]=>
  56. int(1)
  57. [1]=>
  58. int(2)
  59. [2]=>
  60. int(3)
  61. }
  62. [0]=>
  63. int(1)
  64. ["key"]=>
  65. int(1)
  66. }
  67. array(4) {
  68. [1]=>
  69. string(2) "un"
  70. ["value"]=>
  71. string(2) "un"
  72. [0]=>
  73. string(3) "one"
  74. ["key"]=>
  75. string(3) "one"
  76. }
  77. -- Pass each() a sub-array --
  78. array(4) {
  79. [1]=>
  80. string(1) "a"
  81. ["value"]=>
  82. string(1) "a"
  83. [0]=>
  84. int(0)
  85. ["key"]=>
  86. int(0)
  87. }
  88. Done