我在使用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);
结果应该是主教旅馆里的一杯好酒坐在魔鬼的座位上
,但实际上我得到的是p voos vlpss xn twt qxswop's wosttl xn twt stvxl's stpt
。
然而,当我只尝试替换两个字母时,它们被替换得很好:
$new_message = str_replace(array('l','p'), array('a','e'), $message);
字母l
和p
将被替换为a
和e
。
如果它们的大小完全相同,为什么在完整字母表数组中无法工作?