使用數組時,我在使用PHP函數str_replace
時遇到了一些麻煩。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'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
和p
將a
和e
所取代。
如果它們的尺寸完全相同,爲什麼它不能與全字母數組配合使用?
注意,你可以簡單地做'$ new_message = strtr函數的效率,使這項工作對大小寫( 'lmnopqrstuvwxyzabcdefghijkLMNOPQRSTUVWXYZABCDEFGHIJK', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',$消息);' –
@TheSmose感謝,我還補充說,以及! – LautaroAngelico