首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向组合文本框值中添加内爆变量

问如何向组合文本框值中添加内爆变量
EN

Stack Overflow用户
提问于 2015-08-14 20:33:37
回答 2查看 829关注 0票数 0

我有以下三页代码。第一页询问用户他们喜欢哪种音乐类型(最终会有20+类型)。第二页要求用户对他们选择的类型进行排序,第三页对它们的排名进行排序和显示。

第一页要求用户选择他们喜欢的类型:

代码语言:javascript
复制
<form id="genre" name="genre" method="post" action="musicsell.php">
  <input type="checkbox" name="genre[]" id="Rap" value="Rap"/>Rap<br />
  <input type="checkbox" name="genre[]" id="HipHop" value="HipHop"/>HipHop<br />
  <input type="checkbox" name="genre[]" id="RnB" value="RnB"/>RnB<br />
  <input type="checkbox" name="genre[]" id="Rock" value="Rock"/>Rock<br />
  <input type="checkbox" name="genre[]" id="Jazz"value="Jazz"/>Jazz<br />

  <p>
    <input type="submit" value="Next">
    <br />
  </p>
</form>

第二个要求他们对他们所选择的类型进行排序(排序),其中1种是最好的:

代码语言:javascript
复制
<form id="form1" name="form1" method="post" action="musicresults.php">
<?php
$name = $_POST['genre'];

if(isset($_POST['genre'])) {
foreach ($name as $genre){

?>

<input type="number" required="required" id="<?php echo $genre ?>" name="music[<?php echo $genre ?>]" max="3" min="1" /><?php echo $genre ?><br /> 

<?php
    }
} 
?>

<input type="submit" name="button" id="button" value="Submit" /></form>

第三页也是最后一页对结果进行排序和回显:

代码语言:javascript
复制
<?php
//Get the form results (which has been converted to an associative array) from the $_POST super global
$musicgenres = $_POST['music'];

//Sort the values by rank and keep the key associations.
asort($musicgenres, SORT_NUMERIC );

//Loop over the array in rank order to print out the values.
foreach($musicgenres as $music => $rank)
{
   echo "$music is your $rank choice";
   echo "<br>";
}
?>

结果的一个例子:

说唱是你的首选

HipHop是你的2种选择

RnB是你的三种选择

但是,如何将一组单独的代码放在最后一页,以便回显一个变量(例如,echo "musicstring = $musicstring";),该变量将显示如下结果:

音乐弦乐=说唱,HipHop,RnB

我认为需要一个内爆函数,但我不确定。

EN

回答 2

Stack Overflow用户

发布于 2015-08-14 20:37:52

是的,implode是你所需要的:

代码语言:javascript
复制
echo implode(' ,', array_values($musicgenres));
票数 2
EN

Stack Overflow用户

发布于 2015-08-14 22:45:01

编辑:是的,内爆函数将为您工作。

内爆()函数从数组的元素返回字符串。

语法:内爆(分隔符,数组)

在这里找到内爆()文档:implode.asp

更新foreach函数如下:

代码语言:javascript
复制
foreach($musicgenres as $music => $rank)
{
   array_push($musicstring, $music);   
   echo "$music is your $rank choice";
   echo "<br>";
}

然后,您可能必须在最后添加以下代码:

代码语言:javascript
复制
 $musicstring = implode(", ", $musicgenres);
 echo $musicstring;

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32018232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档