bug73686.phpt 663 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. --TEST--
  2. Bug #73686 (Adding settype()ed values to ArrayObject results in references)
  3. --FILE--
  4. <?php
  5. $ao = new ArrayObject;
  6. foreach ([1, 2, 3] as $i => $var)
  7. {
  8. settype($var, 'string');
  9. $ao[$i] = $var;
  10. }
  11. var_dump($ao);
  12. $ao = new ArrayObject;
  13. foreach ([1, 2, 3] as $i => $var)
  14. {
  15. $ao[$i] = &$var;
  16. }
  17. var_dump($ao);
  18. ?>
  19. --EXPECTF--
  20. object(ArrayObject)#%d (1) {
  21. ["storage":"ArrayObject":private]=>
  22. array(3) {
  23. [0]=>
  24. string(1) "1"
  25. [1]=>
  26. string(1) "2"
  27. [2]=>
  28. string(1) "3"
  29. }
  30. }
  31. object(ArrayObject)#%d (1) {
  32. ["storage":"ArrayObject":private]=>
  33. array(3) {
  34. [0]=>
  35. &int(3)
  36. [1]=>
  37. &int(3)
  38. [2]=>
  39. &int(3)
  40. }
  41. }