在PHP中将一个字符转换为另一个字符

在PHP中将一个字符转换为另一个字符,php,arrays,join,explode,string,Php,Arrays,Join,Explode,String,我有两个数组,一个是假日文字符,另一个是英文字母 我不知道从这里到哪里去,我尝试了循环,str_替换,甚至使用字母数组作为jap数组的键,这个数组对一个单词有效,但是我想分解单词并转换它们,同时包含空格 $name = $_POST['engname']; $name = strtoupper($name); $jap = array('ka','tu','mi', 'te','ku', 'lu', 'ji', 'ri', 'ki', 'zu', 'me', 'ta', 'rin', 'to'

我有两个数组,一个是假日文字符,另一个是英文字母 我不知道从这里到哪里去,我尝试了循环,str_替换,甚至使用字母数组作为jap数组的键,这个数组对一个单词有效,但是我想分解单词并转换它们,同时包含空格

$name = $_POST['engname'];
$name = strtoupper($name);

$jap = array('ka','tu','mi', 'te','ku', 'lu', 'ji', 'ri', 'ki', 'zu', 'me', 'ta', 'rin', 'to', 'mo', 'no', 'ke', 'shi', 'ari', 'chi', 'do', 'ru', 'mei', 'na', 'fu', 'zi');
$letters = 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');

$names = explode(' ',$name);
$letters = array();
foreach($name as $names) {
$names[] = join('<br/>', str_split($names));
}
echo join('<br/>',$names);
$name=$\u POST['engname'];
$name=strtoupper($name);
$jap=数组('ka','tu','mi','te','ku','lu','ji','ri','ki','zu','me','ta','rin','to','mo','no','ke','shi','ari','chi','do','ru','mei','na','fu zi');
$letters=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');
$names=分解(“”,$name);
$letters=array();
foreach($name作为$names){
$names[]=join('
',str_split($names)); } 回显联接(“
”,$names);
PHP有一个功能:

strtr
-翻译字符或替换子字符串

如果给定两个参数,则第二个参数应为
array('from'=>'to',…)
形式的数组。返回值是一个字符串,其中所有出现的数组键都已替换为相应的值。最长的钥匙将首先试用。替换子字符串后,将不再搜索其新值


(不确定你想朝哪个方向走,JAP->ENG或ENG->JAP,但从你使用的
strtoupper
我假设后者)

为什么不起作用?有错误吗?你能给出一些示例输入吗?你知道你有错误吗?应该是
foreach($names as$currentname){
。您想做什么?请澄清。我投票赞成在$\u POST变量上使用函数的更快方法。这正是我想要的。谢谢。
$name = strtoupper( $_POST['engname'] );

$jap = array('ka','tu','mi', 'te','ku', 'lu', 'ji', 'ri', 'ki', 'zu', 'me', 'ta', 'rin', 'to', 'mo', 'no', 'ke', 'shi', 'ari', 'chi', 'do', 'ru', 'mei', 'na', 'fu', 'zi');
$letters = 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');

$name = str_replace( $jap , $letters , $name );

echo $name;
$name = strtr($name, array_combine($letters, $jap));