Я пытаюсь зашифровать сообщение с помощью CAESAR'S CIPHER, и шифрование также работает правильно. Но теперь я хотел бы знать, как учитывать пробелы и числа в строковой кодировке.Как объяснить пробелы и цифры в шифре Цезаря?
PHP
<?php
//the text to be encrypted
$plain_text='ABC';
echo $plain_text."<br>";
//letters of alphabet array
$alphabet=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');
//positions of the letters in alphabet
$flip=array_flip($alphabet);
//plaintext array
$plain_text=str_split($plain_text);
$n=count($plain_text);
$encrypted_text='';
for ($i=0; $i<$n; $i++){
//encryption
$encrypted_text.=$alphabet[($flip[$plain_text[$i]]+2)%26];
}
echo $encrypted_text;
?>
$ n является символом строки справа ?, используйте in_array ($ n, array ('1', '2', '3', '4', '5', ...)); что я бы определил ваш массив плохих персонажей вне цикла, а затем просто посмотрим, является ли это одним из них, правильно? – ArtisticPhoenix
Да $ n - строковый символ. Итак, где вы предлагаете мне использовать th in_array? – Ayan
Ну, я не знаю, что вы хотите с ними делать, но вы можете найти их, проверив каждый символ против массива плохих символов, поэтому, если вы положите if внутри цикла и т. Д. И т. Д., Если вы хотите увеличить производительность вы можете использовать strpos ('123456', $ n), а также ... http://php.net/manual/en/function.strpos.php – ArtisticPhoenix