Straddling checkerboard: Difference between revisions

(→‎{{header|Java}}: Added missing 'import' declaration.)
(→‎{{header|PHP}}: added PHP)
Line 1,559:
Encoded: 139539363509369743061399059745399365901344308320791798798798367430685972839363935
Decoded: ONENIGHTITWASONTHETWENTIETHOFMARCH1888IWASRETURNING</pre>
 
=={{header|PHP}}==
{{trans|Java}}
{{works with|PHP 7}}
<lang php>$key2val = ["A"=>"30", "B"=>"31", "C"=>"32", "D"=>"33", "E"=>"5", "F"=>"34", "G"=>"35",
"H"=>"0", "I"=>"36", "J"=>"37", "K"=>"38", "L"=>"2", "M"=>"4", "."=>"78", "N"=>"39",
"/"=>"79", "O"=>"1", "0"=>"790", "P"=>"70", "1"=>"791", "Q"=>"71", "2"=>"792",
"R"=>"8", "3"=>"793", "S"=>"6", "4"=>"794", "T"=>"9", "5"=>"795", "U"=>"72",
"6"=>"796", "V"=>"73", "7"=>"797", "W"=>"74", "8"=>"798", "X"=>"75", "9"=>"799",
"Y"=>"76", "Z"=>"77"];
$val2key = array_flip($key2val);
 
function encode(string $s) : string {
global $key2val;
$callback = function($c) use ($key2val) { return $key2val[$c] ?? ''; };
 
return implode(array_map($callback, str_split(strtoupper($s))));
}
function decode(string $s) : string {
global $val2key;
 
$callback = function($c) use ($val2key) { return $val2key[$c] ?? ''; };
preg_match_all('/79.|7.|3.|./', $s, $m);
return implode(array_map($callback, $m[0]));
}
 
function main($s) {
$encoded = encode($s);
echo $encoded;
echo "\n";
echo decode($encoded);
}
 
main('One night-it was on the twentieth of March, 1888-I was returning');</lang>
<pre>
139539363509369743061399059745399365901344308320791798798798367430685972839363935
ONENIGHTITWASONTHETWENTIETHOFMARCH1888IWASRETURNING
</pre>
 
=={{header|PicoLisp}}==
Line 1,595 ⟶ 1,638:
: (unStraddle @)
-> "ONENIGHTITWASONTHETWENTIETHOFMARCH1888IWASRETURNING"</pre>
 
=={{header|PureBasic}}==
<lang purebasic>Procedure.s encrypt_SC(originalText.s, alphabet.s, blank_1, blank_2)
Anonymous user