У меня возникают проблемы с функцией PHP str_replace
при использовании массивов.
У меня есть это сообщение:
$message = strtolower("L rzzo rwldd ty esp mtdsza'd szdepw ty esp opgtw'd dple");
И я пытаюсь использовать str_replace
следующим образом:
$new_message = str_replace(
array('l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h','i','j','k'),
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'),
$message);
Результат должен быть A good glass in the bishop hostel in the devil seat
, но вместо этого я получаю p voos vlpss xn twt qxswop wosttl xn twt stvxl stpt
.
Однако, когда я только пытаюсь заменить 2 буквы, они хорошо их заменяют:
$new_message = str_replace(array('l','p'), array('a','e'), $message);
буквы l
и p
будут заменены на a
и e
.
Почему он не работает с полным алфавитным массивом, если они оба имеют одинаковый размер?