-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmorse_code.php
55 lines (51 loc) · 1.65 KB
/
morse_code.php
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
function decode_morse(string $code): string {
$words = explode(" ", $code);
$encoded = [];
foreach($words as $word) {
$letters = explode(" ", $word);
foreach($letters as $char) {
$encoded[] = match ($char) {
".----" => "1",
"..---" => "2",
"...--" => "3",
"....-" => "4",
"....." => "5",
"-...." => "6",
"--..." => "7",
"---.." => "8",
"----." => "9",
"-----" => "0",
".-" => "a",
"-..." => "b",
"-.-." => "c",
"-.." => "d",
"." => "e",
"..-." => "f",
"--." => "g",
"...." => "h",
".." => "i",
".---" => "j",
"-.-" => "k",
".-.." => "l",
"--" => "m",
"-." => "n",
"---" => "o",
".--." => "p",
"--.-" => "q",
".-." => "r",
"..." => "s",
"-" => "t",
"..-" => "u",
"...-" => "v",
".--" => "w",
"-..-" => "x",
"-.--" => "y",
"--.." => "z",
default => " ",
};
}
}
return join($encoded);
}
echo decode_morse("..... ----- .....");