2017-04-12 39 views
0

在下面的代码中只显示最后两种形式的值。我可能做错了什么?HTML多维数组

<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($_POST['submit'])){ 
    print_r($_POST['fields']); 

    foreach($_POST['fields'] as $field){ 
     echo '<br/>'; 
     echo 'Hello your name is : '.$field['name']; 
     echo '<br/>'; 
     echo 'Hello your age is : '.$field['age']; 
    } 
} 

更新:什么是从数组呼应值的最佳方式是什么?我试过几种方法都没有作用

+0

你每次都使用相同的名字。如果你想让它们成为数组,你应该使用类似''' – rickdenhaan

+0

因为你命名每个数组''[edu]',当它们被发送到PHP解释器。您需要将它们命名为edu1,edu2,edu3,这样foreach才能正常放弃它们。 – Forbs

+0

@rickdenhaan,我对这个问题做了更新。我将如何高效回应这些值? – dsaviour

回答

0
<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"/> 
+1

你的代码的一些解释会很棒! –