我有一个表单,我将在其中输入我放置在数组中的三个单词中的一个,选择一个类别,当我按下send时,我希望显示另一个数组中的另一个单词,显示的单词应该与表单中输入的单词具有相同的键。
这是我搜索了一段时间后,到目前为止所尝试的。
function wordswap() {
$word=array('hello','happy','yes');
$opp=array('bye','sad','no');
for($y=0;$y<=2;$y++){
if($text==$word[$y]){ //$text is the word entered in the form
echo "$opp[$y]";
}
}
}
当在表格中输入"你好"并按发送时,我希望"再见"出现等。任何帮助都将不胜感激!
这里只需使用一个映射而不是两个数组:
function wordswap($text) {
$wordMap = [
'hello' => 'bye',
'happy' => 'sad',
'yes' => 'no',
];
return empty($wordMap[$text]) ? null : $wordMap[$text];
}
我认为问题是你在echo
中使用字符串-如果你去掉$opp[$y]
周围的双引号,那么它应该可以工作:)
function wordswap() {
$word=array('hello','happy','yes');
$opp=array('bye','sad','no');
for($y=0;$y<=2;$y++){
if($text==$word[$y]){ //$text is the word entered in the form
echo $opp[$y];
}
}
}
有人发布了正确的解决方案,但看起来它被删除了。它在这里:(链接:https://eval.in/137813)
function wordswap($input) {
$word=array('hello','happy','yes');
$opp=array('bye','sad','no');
$key = array_search($input, $word);
if (isset($opp[$key])) {
return $opp[$key];
}
return FALSE;
}
echo wordswap('hello');
您不需要编写自己的函数。您只能使用标准库中的一个:str_replace(array('hello','happy','yes'), array('bye','sad','no'), $text);
这里有演示:https://eval.in/137815