我正在尝试将字符串中的每个字符替换为相反的字符,但以下代码仅将字符替换为字符,但它无法识别 ASCII 代码。
你能帮我么?你能告诉我为什么吗?我曾尝试使用 chr 函数,但它不起作用。它什么也没告诉我。
这是我的代码:
<?php
function flip($v)
{
$flipped="";
$size=strlen($v);
$array=str_split($v,1);
for($i=0;$i<$size;$i++)
{
switch($array[$i])
{
case 'a': $flipped .= '\u0250';
break;
case 'b' : $flipped .='q';
break;
case 'c' : $flipped .='\u0254';
break;
case 'd': $flipped .='p';
break;
case 'e': $flipped .='\u01DD';
break;
case 'f': $flipped .='\u025F';
break;
case 'g' : $flipped .='\u0183';
break;
case 'h': $flipped .='\u0265';
break;
case 'i' : $flipped .='\u0131';
break;
case 'j' : $flipped .='\u027E';
break;
case 'k' : $flipped .='\u029E';
break;
case 'l' : $flipped .='\u0283';
break;
case 'm' : $flipped .='\u026F';
break;
case 'n' : $flipped .='u';
break;
case 'r' : $flipped .='\u0279';
break;
case 't' : $flipped .='\u0287';
break;
case 'v' : $flipped .='\u028C';
break;
case 'w' : $flipped .='\u028D';
break;
case 'y' : $flipped .='\u028E';
break;
case '.' : $flipped .='\u02D9';
break;
case '[' : $flipped .=']';
break;
case '(' : $flipped .=')';
break;
case '{' : $flipped .='}';
break;
case '?' : $flipped .='\u00BF';
break;
case '!' : $flipped .='\u00A1';
break;
case "\'" : $flipped .=',';
break;
case '<' : $flipped .='>';
break;
case '_' : $flipped .='\u203E';
break;
case ';' : $flipped .='\u061B';
break;
case '\u203F' : $flipped .='\u2040';
break;
case '\u2045' : $flipped .='\u2046';
break;
case '\u2234' : $flipped .='\u2235';
break;
case '\r' : $flipped .='\n';
break;
case ' ' : $flipped .='';
break;
}
}
return $flipped;
}
echo flip("abcdefghijklmnopqrst");
?>
谢谢!