我有一个这样的字符串ÎæèÂä@Ä
我想要的正确移动每个角色和输出gstar b
如何在PHP中做到这一点。如果是循环移位,则更可取。
答案 0 :(得分:2)
例如:
$string = "abc";
$shift = 1;
$shiftedString = "";
for ($i = 0; $i < strlen($string); $i++)
{
$ascii = ord($string[$i]);
$shiftedChar = chr($ascii + $shift);
$shiftedString .= $shiftedChar;
}
echo $shiftedString;
ord()将char转换为int。然后添加移位并使用 chr()从int转换为char,并附加到字符串。
答案 1 :(得分:0)
这是ASCII的解决方案。但是在utf8中不起作用。所以确保在运行时,charset不是utf8
$str='ÎæèÂä@Ä';
for($i=0;$i<strlen($str);$i++){
echo chr((ord($str[$i]))>>1);
}