我有以下三页代码。第一页询问用户他们喜欢哪种音乐类型(最终会有20+类型)。第二页要求用户对他们选择的类型进行排序,第三页对它们的排名进行排序和显示。
第一页要求用户选择他们喜欢的类型:
<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种是最好的:
<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>第三页也是最后一页对结果进行排序和回显:
<?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
我认为需要一个内爆函数,但我不确定。
发布于 2015-08-14 20:37:52
是的,implode是你所需要的:
echo implode(' ,', array_values($musicgenres));发布于 2015-08-14 22:45:01
编辑:是的,内爆函数将为您工作。
内爆()函数从数组的元素返回字符串。
语法:内爆(分隔符,数组)
在这里找到内爆()文档:implode.asp
更新foreach函数如下:
foreach($musicgenres as $music => $rank)
{
array_push($musicstring, $music);
echo "$music is your $rank choice";
echo "<br>";
}然后,您可能必须在最后添加以下代码:
$musicstring = implode(", ", $musicgenres);
echo $musicstring;希望这能有所帮助!
https://stackoverflow.com/questions/32018232
复制相似问题