我已根据要求将单词转换为数组,完成了一些函数,现在又想将其转换回单词。当我在 echo 上添加一个中断时,我发现它仍然可以作为一个数组。
$word='someword';
$arr= str_split($word);
foreach ($arr as $value)
echo $words =chr(ord($value)+2).'<br>';
以上结果是
u q o g y q t f
我做了一个功能来检查我的要求是否得到满足。
失败
请帮助,我尝试了 内爆,合并,加入
if($words!='uqogyqtf'){
echo 'failed';
}else{
echo 'Okay';
}
答案 0 :(得分:3)
您的代码应为:
$word='someword';
$arr= str_split($word);
$words = [];
foreach ($arr as $value) {
$words[] =chr(ord($value)+2);
}
echo implode('', $words);
在您的代码中,某些时候$words
仅包含在字符上,而不是保留以前的值。
答案 1 :(得分:2)
取出代码中的换行符并连接变量,它应该可以正常工作。
$word='someword';
$arr= str_split($word);
$words = '';
foreach ($arr as $value)
$words .=chr(ord($value)+2);
echo $words;
if($words!='uqogyqtf'){
echo 'failed';
}else{
echo 'Okay';
}
输出(取出echo $words;
只有&#34;好的&#34;):
uqogyqtfOkay
答案 2 :(得分:0)
function convertword($word)
{ $myarray = str_split($word);
foreach ($myarray as $key => $value)
{ $mynewarray[$key] = chr(ord($myarray[$key])+2);
}
$newword = implode("", $mynewarray);
return $newword;
}
这对我有用:)