<?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