array_010.phpt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. --TEST--
  2. SPL: ArrayIterator implements ArrayAccess
  3. --FILE--
  4. <?php
  5. $obj = new ArrayObject(array('1st', 1, 2=>'3rd', '4th'=>4));
  6. var_dump($obj->getArrayCopy());
  7. echo "===EMPTY===\n";
  8. var_dump(empty($obj[0]));
  9. var_dump(empty($obj[1]));
  10. var_dump(empty($obj[2]));
  11. var_dump(empty($obj['4th']));
  12. var_dump(empty($obj['5th']));
  13. var_dump(empty($obj[6]));
  14. echo "===isset===\n";
  15. var_dump(isset($obj[0]));
  16. var_dump(isset($obj[1]));
  17. var_dump(isset($obj[2]));
  18. var_dump(isset($obj['4th']));
  19. var_dump(isset($obj['5th']));
  20. var_dump(isset($obj[6]));
  21. echo "===offsetGet===\n";
  22. var_dump($obj[0]);
  23. var_dump($obj[1]);
  24. var_dump($obj[2]);
  25. var_dump($obj['4th']);
  26. var_dump($obj['5th']);
  27. var_dump($obj[6]);
  28. echo "===offsetSet===\n";
  29. echo "WRITE 1\n";
  30. $obj[1] = 'Changed 1';
  31. var_dump($obj[1]);
  32. echo "WRITE 2\n";
  33. $obj['4th'] = 'Changed 4th';
  34. var_dump($obj['4th']);
  35. echo "WRITE 3\n";
  36. $obj['5th'] = 'Added 5th';
  37. var_dump($obj['5th']);
  38. echo "WRITE 4\n";
  39. $obj[6] = 'Added 6';
  40. var_dump($obj[6]);
  41. var_dump($obj[0]);
  42. var_dump($obj[2]);
  43. $x = $obj[6] = 'changed 6';
  44. var_dump($obj[6]);
  45. var_dump($x);
  46. echo "===unset===\n";
  47. var_dump($obj->getArrayCopy());
  48. unset($obj[2]);
  49. unset($obj['4th']);
  50. unset($obj[7]);
  51. unset($obj['8th']);
  52. var_dump($obj->getArrayCopy());
  53. ?>
  54. --EXPECTF--
  55. array(4) {
  56. [0]=>
  57. string(3) "1st"
  58. [1]=>
  59. int(1)
  60. [2]=>
  61. string(3) "3rd"
  62. ["4th"]=>
  63. int(4)
  64. }
  65. ===EMPTY===
  66. bool(false)
  67. bool(false)
  68. bool(false)
  69. bool(false)
  70. bool(true)
  71. bool(true)
  72. ===isset===
  73. bool(true)
  74. bool(true)
  75. bool(true)
  76. bool(true)
  77. bool(false)
  78. bool(false)
  79. ===offsetGet===
  80. string(3) "1st"
  81. int(1)
  82. string(3) "3rd"
  83. int(4)
  84. Warning: Undefined array key "5th" in %s on line %d
  85. NULL
  86. Warning: Undefined array key 6 in %s on line %d
  87. NULL
  88. ===offsetSet===
  89. WRITE 1
  90. string(9) "Changed 1"
  91. WRITE 2
  92. string(11) "Changed 4th"
  93. WRITE 3
  94. string(9) "Added 5th"
  95. WRITE 4
  96. string(7) "Added 6"
  97. string(3) "1st"
  98. string(3) "3rd"
  99. string(9) "changed 6"
  100. string(9) "changed 6"
  101. ===unset===
  102. array(6) {
  103. [0]=>
  104. string(3) "1st"
  105. [1]=>
  106. string(9) "Changed 1"
  107. [2]=>
  108. string(3) "3rd"
  109. ["4th"]=>
  110. string(11) "Changed 4th"
  111. ["5th"]=>
  112. string(9) "Added 5th"
  113. [6]=>
  114. string(9) "changed 6"
  115. }
  116. array(4) {
  117. [0]=>
  118. string(3) "1st"
  119. [1]=>
  120. string(9) "Changed 1"
  121. ["5th"]=>
  122. string(9) "Added 5th"
  123. [6]=>
  124. string(9) "changed 6"
  125. }