arrayObject_exchangeArray_basic1.phpt 794 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. SPL: ArrayObject::exchangeArray() and copy-on-write references
  3. --FILE--
  4. <?php
  5. $ao = new ArrayObject();
  6. $swapIn = array();
  7. $cowRef = $swapIn; // create a copy-on-write ref to $swapIn
  8. $ao->exchangeArray($swapIn);
  9. $ao['a'] = 'adding element to $ao';
  10. $swapIn['b'] = 'adding element to $swapIn';
  11. $ao['c'] = 'adding another element to $ao';
  12. echo "\n--> swapIn: ";
  13. var_dump($swapIn);
  14. echo "\n--> cowRef: ";
  15. var_dump($cowRef);
  16. echo "\n--> ao: ";
  17. var_dump($ao);
  18. ?>
  19. --EXPECTF--
  20. --> swapIn: array(1) {
  21. ["b"]=>
  22. string(25) "adding element to $swapIn"
  23. }
  24. --> cowRef: array(0) {
  25. }
  26. --> ao: object(ArrayObject)#%d (1) {
  27. ["storage":"ArrayObject":private]=>
  28. array(2) {
  29. ["a"]=>
  30. string(21) "adding element to $ao"
  31. ["c"]=>
  32. string(29) "adding another element to $ao"
  33. }
  34. }