1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
--TEST-- Array offsets can be yielded by reference --FILE-- <?php function &gen(array &$array) { yield $array[0]; } $array = [1, 2, 3]; $gen = gen($array); foreach ($gen as &$val) { $val *= -1; } var_dump($array); ?> --EXPECT-- array(3) { [0]=> &int(-1) [1]=> int(2) [2]=> int(3) }