arrayObject_exchangeArray_basic2.phpt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. --TEST--
  2. SPL: ArrayObject::exchangeArray() with various object arguments
  3. --FILE--
  4. <?php
  5. echo "--> exchangeArray(array):\n";
  6. $ao = new ArrayObject();
  7. $ao->exchangeArray(array('key'=>'original'));
  8. var_dump($ao['key']);
  9. var_dump($ao);
  10. echo "\n--> exchangeArray(normal object):\n";
  11. $obj = new stdClass;
  12. $obj->key = 'normal object prop';
  13. $ao->exchangeArray($obj);
  14. var_dump($ao['key']);
  15. var_dump($ao);
  16. echo "\n--> exchangeArray(ArrayObject):\n";
  17. $obj = new ArrayObject(array('key'=>'ArrayObject element'));
  18. $ao->exchangeArray($obj);
  19. var_dump($ao['key']);
  20. var_dump($ao);
  21. echo "\n--> exchangeArray(ArrayIterator):\n";
  22. $obj = new ArrayIterator(array('key'=>'ArrayIterator element'));
  23. $ao->exchangeArray($obj);
  24. var_dump($ao['key']);
  25. var_dump($ao);
  26. echo "\n--> exchangeArray(nested ArrayObject):\n";
  27. $obj = new ArrayObject(new ArrayObject(array('key'=>'nested ArrayObject element')));
  28. $ao->exchangeArray($obj);
  29. var_dump($ao['key']);
  30. var_dump($ao);
  31. ?>
  32. --EXPECTF--
  33. --> exchangeArray(array):
  34. string(8) "original"
  35. object(ArrayObject)#%d (1) {
  36. ["storage":"ArrayObject":private]=>
  37. array(1) {
  38. ["key"]=>
  39. string(8) "original"
  40. }
  41. }
  42. --> exchangeArray(normal object):
  43. string(18) "normal object prop"
  44. object(ArrayObject)#%d (1) {
  45. ["storage":"ArrayObject":private]=>
  46. object(stdClass)#%d (1) {
  47. ["key"]=>
  48. string(18) "normal object prop"
  49. }
  50. }
  51. --> exchangeArray(ArrayObject):
  52. string(19) "ArrayObject element"
  53. object(ArrayObject)#%d (1) {
  54. ["storage":"ArrayObject":private]=>
  55. object(ArrayObject)#%d (1) {
  56. ["storage":"ArrayObject":private]=>
  57. array(1) {
  58. ["key"]=>
  59. string(19) "ArrayObject element"
  60. }
  61. }
  62. }
  63. --> exchangeArray(ArrayIterator):
  64. string(21) "ArrayIterator element"
  65. object(ArrayObject)#%d (1) {
  66. ["storage":"ArrayObject":private]=>
  67. object(ArrayIterator)#%d (1) {
  68. ["storage":"ArrayIterator":private]=>
  69. array(1) {
  70. ["key"]=>
  71. string(21) "ArrayIterator element"
  72. }
  73. }
  74. }
  75. --> exchangeArray(nested ArrayObject):
  76. string(26) "nested ArrayObject element"
  77. object(ArrayObject)#%d (1) {
  78. ["storage":"ArrayObject":private]=>
  79. object(ArrayObject)#%d (1) {
  80. ["storage":"ArrayObject":private]=>
  81. object(ArrayObject)#%d (1) {
  82. ["storage":"ArrayObject":private]=>
  83. array(1) {
  84. ["key"]=>
  85. string(26) "nested ArrayObject element"
  86. }
  87. }
  88. }
  89. }