@bigos

Почему выводится пустота?

Есть пример аффиной системы Цезаря - тык только на русском алфавите основанной
Так как мне нужно сделать английский алфавит я заполнил массив англ. буквами. В итоге, я ничего не получаю в ответе. Подскажите, в чем проблема?
$message=$_POST['message'];  
$ak=$_POST['a'];  
$bk=$_POST['b'];  
$message = mb_strtolower($message);  
$arrmessage=str_split($message);  
$symbols=strlen($message);  
$a = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '_', '.', ',', ';', ':', '"', '{', '}');  
echo '  
';  
$i=0;  
$k=0;  
if ((empty($message)) or (empty($bk)) or (empty($ak)))  
{  
}  
else  
{  
    echo "<b>Сообщение, которое нужно зашифровать:</b> ".$message.'<br>  
';  
    echo "<b>Зашифрованное сообщение:</b><br> ";  
    while ($i<$symbols)  
    {  
        $s=$arrmessage[$i];  
 
        while($k<33)  
        {  
            if ($s == $a[$k])  
            {  
                $news = $a[$k];  
                $r = $k;  
                $r = ($ak*$r) + $bk;  
                echo $a[$r];  
                if ($r>32)  
                {  
                    while ($r>32)  
                    {  
                        $r = $r-33;  
                    }  
                    echo $a[$r];  
                }  
            }  
            $k++;  
        }  
        $i++;  
        $k=0;  
    }  
    echo '  
';  
    echo "<b>Коэффициент A: </b>".$ak.'<br> 
';  
    echo "<b>Коэффициент B: </b>".$bk.'  
';  
}
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
alsopub
@alsopub
Для начала уберите $message = mb_strtolower($message); так как у вас в массиве буквы в верхнем регистре.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы