<?php
# Shift a letter by the designated amount, regardless of case
function shiftLetter($c,$shift) {
$code = ord($c);
if (($code>=65) && ($code<=90)) {
$code = ($code+$shift-39)%26+65;
} elseif (($code>=97) && ($code<=122)) {
$code = ($code+$shift-71)%26+97;
}
return chr($code);
}
# Shift all characters in a message by the designated amount, regardless of case
function shiftMessage($message,$shift) {
$result = "";
foreach (str_split($message) as $c) {
$result = $result.shiftLetter($c,$shift);
}
return $result;
}
# Shift all characters by 3 places right
function encipher($message) {
return shiftMessage($message,3);
}
# Shift all characters by 3 places left
function decipher($message) {
return shiftMessage($message,-3);
}
$msg = "This is an amazing secret message!";
echo encipher($msg)."\n";
echo decipher(encipher($msg))."\n";
?>