mirror of
https://github.com/php/php-src.git
synced 2024-12-05 07:46:06 +08:00
86 lines
1.3 KiB
PHP
Executable File
86 lines
1.3 KiB
PHP
Executable File
--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 (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 (4) {
|
|
[1]=>
|
|
int(2)
|
|
[2]=>
|
|
int(3)
|
|
[3]=>
|
|
int(4)
|
|
[4]=>
|
|
int(5)
|
|
}
|
|
1=>2
|
|
3=>4
|
|
object(ArrayObject)#%d (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 (0) {
|
|
}
|
|
===DONE===
|