array_022.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. --TEST--
  2. SPL: ArrayObject/Iterator and reference to self
  3. --FILE--
  4. ==ArrayObject===
  5. <?php
  6. class MyArrayObject extends ArrayObject
  7. {
  8. public function __construct()
  9. {
  10. parent::__construct($this);
  11. $this['bar'] = 'baz';
  12. }
  13. }
  14. $a = new MyArrayObject;
  15. $b = clone $a;
  16. $b['baz'] = 'Foo';
  17. var_dump($a);
  18. var_dump($b);
  19. ?>
  20. ==ArrayIterator===
  21. <?php
  22. class MyArrayIterator extends ArrayIterator
  23. {
  24. public function __construct()
  25. {
  26. parent::__construct($this);
  27. $this['bar'] = 'baz';
  28. }
  29. }
  30. $a = new MyArrayIterator;
  31. $b = clone $a;
  32. $b['baz'] = 'Foo';
  33. var_dump($a);
  34. var_dump($b);
  35. ?>
  36. ===DONE===
  37. --EXPECTF--
  38. ==ArrayObject===
  39. object(MyArrayObject)#%d (1) {
  40. ["bar"]=>
  41. string(3) "baz"
  42. }
  43. object(MyArrayObject)#%d (3) {
  44. ["bar"]=>
  45. string(3) "baz"
  46. ["baz"]=>
  47. string(3) "Foo"
  48. ["storage":"ArrayObject":private]=>
  49. array(1) {
  50. ["bar"]=>
  51. string(3) "baz"
  52. }
  53. }
  54. ==ArrayIterator===
  55. object(MyArrayIterator)#%d (1) {
  56. ["bar"]=>
  57. string(3) "baz"
  58. }
  59. object(MyArrayIterator)#%d (3) {
  60. ["bar"]=>
  61. string(3) "baz"
  62. ["baz"]=>
  63. string(3) "Foo"
  64. ["storage":"ArrayIterator":private]=>
  65. object(MyArrayIterator)#%d (1) {
  66. ["bar"]=>
  67. string(3) "baz"
  68. }
  69. }
  70. ===DONE===