嗯,我編寫一個PHP函數用於多個字符串替換PHP在做str_replace函數功能失常更換
$searchArray = array("0","9","8","7","6","5","4","3","2","1","!","@","#","$","%","^","&","*","(",")","z","x","y","w","u","v","j","i","h","g","f","e","d","c","b","a");
$replaceArray = array("1","2","3","4","5","6","7","8","9","0","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");
$string='protect your php code';
echo $code=str_replace($searchArray, $replaceArray, $string);
其結果= protvxt沼地PSP xowv
很好,當我改變其位置,這似乎正確
$string='protvxt moor psp xowv';
$searchArray = array("1","2","3","4","5","6","7","8","9","0","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");
$replaceArray = array("0","9","8","7","6","5","4","3","2","1","!","@","#","$","%","^","&","*","(",")","z","x","y","w","u","v","j","i","h","g","f","e","d","c","b","a");
echo $code=str_replace($searchArray, $replaceArray, $string);
它給了我這個答案= eifgecg bffi ehe cfde(這是錯誤的)它應該正確顛倒並給出答案保護你的php代碼
老實說,我不知道爲什麼PHP這樣做不對
我粘貼以上代碼在這裏
http://codepad.org/xbSCieZl
請這個我想知道我做錯了這讓我很惱火
關鍵的問題是,並非所有的字母編碼,但即使你對其進行解碼回來,甚至可以解碼未編碼的字母。 –
不知道你試圖做什麼以及你期望的結果,但是檢查搜索並替換每個數組中的數組和字符位置。例如,在上面的代碼中,0被1代替,9代替2等等。數組也應該是相同的長度 – StudioArena
如果你只做單字符換字符,['strtr()'](http:// php.net/strtr)可能比'str_replace()'更合適。 ([鍵盤示例](http://codepad.org/KkjVrahZ)) – Wiseguy