<?php
function getNewLetter($letter, $number) {
$number = $number % 26;
$new_ascii_value = ord($letter) + $number;
if($new_ascii_value < 65){
$number = abs($number) - (ord($letter) - 65);
return chr(91 - $number);
}else if($new_ascii_value >= 91){
return chr(64 + ($new_ascii_value - 90));
}
return chr($new_ascii_value);
}
echo getNewLetter("H", 4),PHP_EOL;
echo getNewLetter("H", 26),PHP_EOL;
echo getNewLetter("H", -4),PHP_EOL;
echo getNewLetter("A", -1),PHP_EOL;
echo getNewLetter("A", -27),PHP_EOL;
echo getNewLetter("A", -2),PHP_EOL;
echo getNewLetter("B", -3),PHP_EOL;
echo getNewLetter("X", 3),PHP_EOL;
echo getNewLetter("Y", 3),PHP_EOL;
echo getNewLetter("E", -7),PHP_EOL;
preferences:
27.45 ms | 406 KiB | 5 Q