49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
#!/bin/env php
|
|
<?php
|
|
|
|
function frick(string $str) {
|
|
$n = [];
|
|
$n[1] = "(['']||[])";
|
|
$n[2] = "(" . $n[1] . "+" . $n[1] . ")";
|
|
$n[3] = "(" . $n[1] . "+" . $n[1] . "+" . $n[1] . ")";
|
|
$n[4] = "(" . $n[2] . "*" . $n[2] . ")";
|
|
$n[5] = "(" . $n[2] . "*" . $n[2] . "+" . $n[1] . ")";
|
|
$n[6] = "(" . $n[3] . "*" . $n[2] . ")";
|
|
$n[7] = "(" . $n[3] . "*" . $n[2] . "+" . $n[1] . ")";
|
|
$n[9] = "(" . $n[3] . "**" . $n[2] . ")";
|
|
$n[0] = "(" . $n[1] . "-" . $n[1] . ")";
|
|
|
|
$arraystr = "([].[])"; // ArrayArray
|
|
|
|
$c = [];
|
|
foreach ($n as $number => $code) {
|
|
$c[(string)$number] = $code . ".[]['']";
|
|
}
|
|
|
|
$c['A'] = $arraystr . "[" . $n[0] . "]";
|
|
$c['a'] = $arraystr . "[" . $n[3] . "]";
|
|
$c['d'] = $c['1'] . "^" . $c['4'] . "^" . $c['a'];
|
|
$c['e'] = $c['0'] . "^" . $c['4'] . "^" . $c['a'];
|
|
$c['p'] = $c['A'] . "^" . $c['1'];
|
|
$c['q'] = $c['A'] . "|" . $c['1'];
|
|
$c['r'] = $arraystr . "[" . $n[1] . "]";
|
|
$c['s'] = $c['A'] . "|" . $c['2'];
|
|
$c['t'] = $c['A'] . "^" . $c['5'];
|
|
$c['u'] = $c['A'] . "|" . $c['4'];
|
|
$c['v'] = $c['A'] . "^" . $c['7'];
|
|
$c['w'] = $c['A'] . "|" . $c['6'];
|
|
$c['x'] = $c['A'] . "^" . $c['9'];
|
|
$c['y'] = $arraystr . "[" . $n[4] . "]";
|
|
|
|
$c['f'] = $c['4'] . "^" . $c['A'] . "^" . $c['r'] . "^" . $c['y'];
|
|
|
|
$chars = [];
|
|
foreach (str_split($str) as $char) {
|
|
$chars[] = $c[$char];
|
|
}
|
|
return "(" . implode(").(", $chars) . ")";
|
|
}
|
|
|
|
echo frick("read");
|
|
|