fixedarray_003.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. --TEST--
  2. SPL: FixedArray: Iterators
  3. --FILE--
  4. <?php
  5. class A extends SplFixedArray {
  6. public function current() {
  7. echo "A::current\n";
  8. return parent::current();
  9. }
  10. public function key() {
  11. echo "A::key\n";
  12. return parent::key();
  13. }
  14. public function rewind() {
  15. echo "A::rewind\n";
  16. return parent::rewind();
  17. }
  18. public function valid() {
  19. echo "A::valid\n";
  20. return parent::valid();
  21. }
  22. public function next() {
  23. echo "A::next\n";
  24. return parent::next();
  25. }
  26. }
  27. echo "==Direct instance==\n";
  28. $a = new SplFixedArray(5);
  29. $a[0] = "a";
  30. $a[1] = "c";
  31. $a[2] = "d";
  32. $a[3] = "e";
  33. $a[4] = "f";
  34. foreach ($a as $k => $v) {
  35. echo "$k => $v\n";
  36. }
  37. echo "==Child instance==\n";
  38. $a = new A(5);
  39. $a[0] = "a";
  40. $a[1] = "c";
  41. $a[2] = "d";
  42. $a[3] = "e";
  43. $a[4] = "f";
  44. foreach ($a as $k => $v) {
  45. echo "$k => $v\n";
  46. }
  47. ?>
  48. ===DONE===
  49. --EXPECTF--
  50. ==Direct instance==
  51. 0 => a
  52. 1 => c
  53. 2 => d
  54. 3 => e
  55. 4 => f
  56. ==Child instance==
  57. A::rewind
  58. A::valid
  59. A::current
  60. A::key
  61. 0 => a
  62. A::next
  63. A::valid
  64. A::current
  65. A::key
  66. 1 => c
  67. A::next
  68. A::valid
  69. A::current
  70. A::key
  71. 2 => d
  72. A::next
  73. A::valid
  74. A::current
  75. A::key
  76. 3 => e
  77. A::next
  78. A::valid
  79. A::current
  80. A::key
  81. 4 => f
  82. A::next
  83. A::valid
  84. ===DONE===