arrayObject_clone_basic1.phpt 928 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. SPL: Cloning an instance of ArrayObject which wraps an array.
  3. --FILE--
  4. <?php
  5. $a = array(1,2);
  6. $aa1 = new ArrayObject($a);
  7. $a['p1'] = 'new element added to a before clone';
  8. $aa2 = clone $aa1;
  9. $a['p2'] = 'new element added to a after clone';
  10. $aa1['new.aa1'] = 'new element added to aa1';
  11. $aa2['new.aa2'] = 'new element added to aa2';
  12. var_dump($a, $aa1, $aa2);
  13. ?>
  14. --EXPECT--
  15. array(4) {
  16. [0]=>
  17. int(1)
  18. [1]=>
  19. int(2)
  20. ["p1"]=>
  21. string(35) "new element added to a before clone"
  22. ["p2"]=>
  23. string(34) "new element added to a after clone"
  24. }
  25. object(ArrayObject)#1 (1) {
  26. ["storage":"ArrayObject":private]=>
  27. array(3) {
  28. [0]=>
  29. int(1)
  30. [1]=>
  31. int(2)
  32. ["new.aa1"]=>
  33. string(24) "new element added to aa1"
  34. }
  35. }
  36. object(ArrayObject)#2 (1) {
  37. ["storage":"ArrayObject":private]=>
  38. array(3) {
  39. [0]=>
  40. int(1)
  41. [1]=>
  42. int(2)
  43. ["new.aa2"]=>
  44. string(24) "new element added to aa2"
  45. }
  46. }