我试图将整个表单包装在一个数组中。目前看起来像:
<div class="round">
<input name="points">
<input name="player1[]">
<input name="player2[]">
</div>
整个表单/ div可以复制,所以理想情况下,我会输出一个可以吐出的输出
round[0][points]
round[0][player1[0,1,2]]
round[0][player2[0,1,2]]
它需要是动态的,所以只需将round [0]添加为静态文本,然后才能完成所有工作。
我试图将所有内容都包装在一个经过试验过的字段集中,但所有内容都会失败或者发出可怕的项目顺序。
有什么想法吗?
编辑以澄清所需的输出: 毕竟说完了,我希望这是动态的,因此需要数组中的数组。复制后的输出可以是:
round[0][points]
round[0][player1[0,1,2]]
round[0][player2[0,1,2]]
round[1][points]
round[1][player1[0,1,2,3,4,5]]
round[1][player2[0,1,2,3,4,5]]
round[2][points]
round[2][player1[0,1]]
round[2][player2[0,1]]
答案 0 :(得分:1)
你认为它只是在这样的点之后添加括号:
<input name="points[]">
<input name="player1[]">
<input name="player2[]">
当你去处理php时,只需使用foreach循环:
$player1 = $_POST['player1'];
$player2 = $_POST['player2'];
foreach($_POST['points'] as $i => $points){
echo $points." ".$player1[$i]." ".$player2[$i];
}
哪个应该给你结果:
points[0] player1[0] player2[0]
points[1] player1[1] player2[1]
etc.
这应该有效(如果我理解正确的话)。
修改强>
好的,所以我假设玩家1&amp; player2输入值是逗号分隔的列表。如果他们是我们只需要在php中进行调整:
$player1 = $_POST['player1'];
$player2 = $_POST['player2'];
foreach($_POST['points'] as $i => $points){
echo "Round ".$i.": "$points;
echo "Team 1";
$team1 = explode(",", $player1[$i]);
foreach($team1 as $i => $player){
echo "Player ".$i.": ".$player;
}
echo "Team 2";
$team2 = explode(",", $player2[$i]);
foreach($team2 as $i => $player){
echo "Player ".$i.": ".$player;
}
}
答案 1 :(得分:0)
部分回答:这会得到#34;播放器&#34;阵列进入&#34; round&#34;数组,现在我只需要弄清楚如何自动增加round [],就像我想要的那样:
<input name="_round[0][_player1][]">
但我认为我可以使用一个计数器......尽管我讨厌多少计数器。