$number) { $line_pattern = explode(',', $patterns[$i]); $numbers[] = substr( array_sum( array_map(function($number, $pattern) use ($line_pattern) { return $number * $line_pattern[$pattern]; }, $sequence, range(0, $sequence_length)) ), -1 ); } $sequence = $numbers; echo "loop $loops finished\n"; } echo implode('', array_slice($sequence, 0, 8));