Функции sellect и sqr - генераторы. Sellect выбирает из массива четные числа, sqr возводит их в квадрат Есть массив чисел. Код (Text): $arr = [1,2,3,4,5,6]; $sellect = sellect($arr, function($e){return $e % 2 == 0 ? true : false; }); //foreach ($sellect as $v) echo "$v "; $sqr = sqr($sellect, function($e){return $e * $e; }); foreach($sqr as $val) echo "$val "; 4я строчка закоментирована, в таком случае результат работы будет 4 16 36 Если 4я строчка будет выполняться, то результат будет 2 4 6, а 4 16 36 выводиться не будут, с чем это связано?
потому что, генератор закончил свой перебор rows на цикле foreach (1), поэтому для следующей итерации не из чего брать "дальше". "Расчет окончен". Генератор сохраняет состояние крч