--TEST-- Bug #34467 (foreach + __get + __set incosistency) --FILE-- arr[$key] = $value; } function __get ($key) { return $this->arr[$key]; } } $abc = new abc(); foreach (array (1,2,3) as $abc->k => $abc->v) { var_dump($abc->k,$abc->v); } ?> --EXPECT-- int(0) int(1) int(1) int(2) int(2) int(3)