2017-04-12 68 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

你的代碼的一些解釋會很棒! –