12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- --TEST--
- SPL: ArrayIterator::next() with internal arrays
- --FILE--
- <?php
- $ar = new ArrayObject();
- $ar[0] = 1;
- $ar[1] = 2;
- $ar[2] = 3;
- $ar[3] = 4;
- $ar[4] = 5;
- var_dump($ar);
- $it = $ar->getIterator();
- $ar->offsetUnset($it->key());
- $it->next();
- var_dump($it->current());
- var_dump($ar);
- foreach($it as $k => $v)
- {
- $ar->offsetUnset($k+1);
- echo "$k=>$v\n";
- }
- var_dump($ar);
- foreach($it as $k => $v)
- {
- $ar->offsetUnset($k);
- echo "$k=>$v\n";
- }
- var_dump($ar);
- ?>
- ===DONE===
- <?php exit(0); ?>
- --EXPECTF--
- object(ArrayObject)#%d (1) {
- %s"storage"%s"ArrayObject":private]=>
- array(5) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
- }
- }
- Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
- int(2)
- object(ArrayObject)#%d (1) {
- %s"storage"%s"ArrayObject":private]=>
- array(4) {
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
- }
- }
- 1=>2
- 3=>4
- object(ArrayObject)#%d (1) {
- %s"storage"%s"ArrayObject":private]=>
- array(2) {
- [1]=>
- int(2)
- [3]=>
- int(4)
- }
- }
- 1=>2
- Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
- 3=>4
- Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
- object(ArrayObject)#%d (1) {
- %s"storage"%s"ArrayObject":private]=>
- array(0) {
- }
- }
- ===DONE===
|