Php HTML多维数组
在下面的代码中,仅显示最后两种形式的值。我可能做错了什么Php HTML多维数组,php,arrays,Php,Arrays,在下面的代码中,仅显示最后两种形式的值。我可能做错了什么 <form action="" method="post"> <input name="fields[edu][name][]" /> <input name="fields[edu][age][]"/> <br/><br/> <input name="fields[edu][name][]" /> <input name="fields[edu][a
<form action="" method="post">
<input name="fields[edu][name][]" />
<input name="fields[edu][age][]"/>
<br/><br/>
<input name="fields[edu][name][]" />
<input name="fields[edu][age][]"/>
<br/><br/>
<input name="fields[edu][name][]" />
<input name="fields[edu][age][]"/>
<br/><br/>
<input type="submit" name="submit" value="Submit"/>
if(isset($\u POST['submit'])){
打印($_POST['fields']);
foreach($_POST['fields']作为$field){
回声“
”;
echo“你好,您的名字是:”。$field['name'];
回声“
”;
echo“您好,您的年龄是:”。$field['age'];
}
}
更新:从数组中回显值的最佳方式是什么?我尝试过几种方法,但都不管用
<form action="" method="post">
<input name="fields[edu0][name][]" />
<input name="fields[edu0][age][]"/>
<br/><br/>
<input name="fields[edu1][name][]" />
<input name="fields[edu1][age][]"/>
<br/><br/>
<input name="fields[edu2][name][]" />
<input name="fields[edu2][age][]"/>
<br/><br/>
<input type="submit" name="submit" value="Submit"/>
您每次都使用相同的名称。如果您希望它们是数组,那么应该使用类似于
的东西,因为您为每个数组命名[edu]
它们在发送到PHP解释器时会被覆盖。你需要把它们命名为edu1,edu2,edu3,这样foreach会正确地把它们去掉。@rickdenhaan,我更新了这个问题。如何有效地回显这些值?@Forbs我需要的字段将要求它们是相同的第二个两个,age
和name
可以是相同的,但是如果您将edu
设置为相同的,那么它将在命中php处理器时覆盖。为什么它们必须是一样的?它们甚至没有在foreach中引用。如果您尝试使用键edu
设置一个3元素数组,那么最终将得到一个1元素数组
<form action="" method="post">
<input name="fields[edu0][name][]" />
<input name="fields[edu0][age][]"/>
<br/><br/>
<input name="fields[edu1][name][]" />
<input name="fields[edu1][age][]"/>
<br/><br/>
<input name="fields[edu2][name][]" />
<input name="fields[edu2][age][]"/>
<br/><br/>
<input type="submit" name="submit" value="Submit"/>