3v4l.org

run code in 300+ PHP versions simultaneously
<?php class LookAndSay { private static function tokenize($input) { $currentDigit = substr($input, 0, 1); $n = 0; $result = []; foreach(str_split($input) as $digit) { if($currentDigit !== $digit) { $result[] = [$currentDigit, $n]; $n = 0; $currentDigit = $digit; } $n++; } $result[] = [$currentDigit, $n]; return $result; } public static function transform($input) { $tokens = self::tokenize($input); $result = ''; foreach($tokens as $token) { list($digit, $n) = $token; $result .= $n . $digit; } return $result; } } $input = '3113322113'; for($i = 0; $i < 40; $i++) {gc_collect_cycles(); $input = LookAndSay::transform($input);} print strlen($input);

preferences:
46.21 ms | 402 KiB | 5 Q