请尝试输入8个团队的积分,只需一个表格。我希望在表单提交后进行比较并获得最高分。我已经创建了表单,但是我遇到了一些问题。我得到"未定义的偏移量:8"错误。但是球队的得分和名字都很完美。这是我的HTML代码
<div class="container">
<form method="post" action="../_libs/test.php">
<?php
foreach($teams as $arr)
{
?>
<div class="row team_result">
<div class="col-md-8">
<div class="row">
<div class="col-md-3"> <img class="img img-thumbnail" src="../_images/<?php echo $arr['Team_Logo']; ?>" width="50" height="50"> </div>
<div class="col-md-3"> <label> <?php echo $arr['Team_Name']; ?> </label> </div>
<div class="col-md-3">
<div class="input-group">
<input type="text" class="form-control" name="points[]" placeholder="points">
</div>
<input type="text" name="Name[]" id="" value="<?php echo $arr['Team_Name'] ?>"
style="display:none" >
</div>
</div>
</div>
</div>
<?php
}
?>
<div class="col-lg-6 col-lg-offset-4"> <input type="submit" class="btn btn-primary" name="submit" value="Post"> </div>
</form>
</div>
和PHP代码
<?php
//echo json_encode($_POST);
if(!empty($_POST['Name'])){
$team=$_POST['Name'];
$teams=count($team);
for($i=0; $i <= $teams; $i++)
{
echo $team[$i] .",". $_POST['points'][$i]."<br>";
// echo $teams;
}
}
?>
答案 0 :(得分:0)
您的for循环应具有条件$i < $teams
。您的数组的索引始终为0索引,但数组的计数始终以1开始。您的循环将超出数组的范围。
<?php
//echo json_encode($_POST);
if(!empty($_POST['Name'])){
$team=$_POST['Name'];
$teams=count($team);
for($i=0; $i < $teams; $i++)
{
echo $team[$i] .",". $_POST['points'][$i]."<br>";
// echo $teams;
}
}
?>
答案 1 :(得分:0)
在for循环中,您只需使用<
,而不是<=
for ($i = 0; $i < $teams; $i++)
当您使用<=
时,您有8个团队,但循环中有9个迭代($i
等于0,1,2,3,4,5,6,7和8) 。最后一个是未定义的。