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