希望对你们来说这不是一件困难的事情,我遇到了一整套字符交换的问题。
这是我到目前为止所拥有的;
// String to Convert
$rawstring = $_REQUEST['message'];
// Arrays
$original = array('a', 'b', 'b', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',);
$replacements = array('z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a', '9', '8', '7', '6', '5', '4', '3', '2', '1', '0',);
//Final string
$Response = str_replace($original, $replacements, $rawstring);
由于相当明显的原因,这并没有给出理想的结果,因为当解析器进入数组的后半部分时,它正在转换它已经转换的字符。
我在其他一些问题中已经看到了移位字符的使用,在上面的例子中,因为它目前是直截了当的,所以我希望能够改变编码器' (如果你愿意的话)调整到不同的字母组合。
我再次(一如既往)感谢您的帮助,并期待完成这项工作:)
P.S。据我所知,这只考虑了此时的小写情况。
答案 0 :(得分:2)
要逐个翻译字符,请改用strtr
:
$Response = strtr($rawstring, array_combine($original, $replacements));