3v4l.org

run code in 300+ PHP versions simultaneously
<?php function decode(string $phrase): string { $dictionary = [ 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 => 'х', 27 => 'ц', 28 => 'ч', 29 => 'ш', 30 => 'щ', 31 => 'ь', 32 => 'ы', 33 => 'ъ', ]; $words = explode(' ', $phrase); $result = ''; foreach ($words as $word) { $letters = explode('.', $word); $result .= ' ' . implode('', array_map(function ($value) use ($dictionary) { $index = (int) $value; if ($index < 1 || $index > 33) { return $value; } return $dictionary[(int)$value]; }, $letters)); } return $result; } echo decode('12.6.24 21.6.28.2.19.7 19.20.2 17.728.29.2 11.32.24.31 6.12.20.6.19.76.19.4 6.23.7.15.14.1.9.24 19.2.20.10 21.22.2.15.12.3 , 28.2.19 7.16.20.1.9.24.');

preferences:
57.86 ms | 402 KiB | 5 Q