str_replace
配列を使用する場合、PHP 関数に問題があります。
次のメッセージがあります。
$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's hostel in the devil's seat
、代わりに が得られp voos vlpss xn twt qxswop's wosttl xn twt stvxl's stpt
ます。
ただし、2文字だけを置き換えようとすると、うまく置き換えられます。
$new_message = str_replace(array('l','p'), array('a','e'), $message);
文字l
andはandp
に置き換えられます。a
e
両方がまったく同じサイズである場合、完全なアルファベット配列で機能しないのはなぜですか?