array_022.phpt 984 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. --EXPECTF--
  37. ==ArrayObject===
  38. object(MyArrayObject)#%d (1) {
  39. ["bar"]=>
  40. string(3) "baz"
  41. }
  42. object(MyArrayObject)#%d (2) {
  43. ["bar"]=>
  44. string(3) "baz"
  45. ["baz"]=>
  46. string(3) "Foo"
  47. }
  48. ==ArrayIterator===
  49. object(MyArrayIterator)#%d (1) {
  50. ["bar"]=>
  51. string(3) "baz"
  52. }
  53. object(MyArrayIterator)#%d (2) {
  54. ["bar"]=>
  55. string(3) "baz"
  56. ["baz"]=>
  57. string(3) "Foo"
  58. }