fixedarray_003.phpt 1.3 KB

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