1--TEST-- 2Bug #77903: ArrayIterator stops iterating after offsetSet call 3--FILE-- 4<?php 5$a = new ArrayIterator(); 6$a->rewind(); 7var_dump($a->valid()); // false 8var_dump($a->current()); // null 9$a->offsetSet(1,1); 10var_dump($a->valid()); // true 11var_dump($a->current()); // 1 12$a->next(); 13var_dump($a->valid()); // false 14var_dump($a->current()); // null 15$a->offsetSet(4,4); 16var_dump($a->valid()); // true 17var_dump($a->current()); // 4 18$a->next(); 19var_dump($a->valid()); // false 20var_dump($a->current()); // null 21$a->next(); 22var_dump($a->valid()); // false 23var_dump($a->current()); // null 24$a->offsetSet(2,2); 25var_dump($a->valid()); // true 26var_dump($a->current()); // 2 27$a->next(); 28var_dump($a->valid()); // false 29var_dump($a->current()); // null 30$a->next(); 31var_dump($a->valid()); // false 32var_dump($a->current()); // null 33?> 34--EXPECT-- 35bool(false) 36NULL 37bool(true) 38int(1) 39bool(false) 40NULL 41bool(true) 42int(4) 43bool(false) 44NULL 45bool(false) 46NULL 47bool(true) 48int(2) 49bool(false) 50NULL 51bool(false) 52NULL 53