array_022.phpt 964 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 (2) {
  44. ["bar"]=>
  45. string(3) "baz"
  46. ["baz"]=>
  47. string(3) "Foo"
  48. }
  49. ==ArrayIterator===
  50. object(MyArrayIterator)#%d (1) {
  51. ["bar"]=>
  52. string(3) "baz"
  53. }
  54. object(MyArrayIterator)#%d (2) {
  55. ["bar"]=>
  56. string(3) "baz"
  57. ["baz"]=>
  58. string(3) "Foo"
  59. }
  60. ===DONE===