2014-05-10 122 views
-1

請問我有一個帶有不同密鑰的html表單數組name='qt[]',name='price[]',name='desc[]'Foreach多個dimentianal陣列關聯密鑰

所以我想foreach這個數組,並把值放在一個HTML表格,我該怎麼辦?

loop 
<tr> 
    <td><?php echo qt; ?></td> 
    <td><?php echo price; ?></td> 
    <td><?php echo desc; ?></td> 
</tr> 
end loop 

這是我的代碼:

foreach ($items['quantite'] as $qt) { 
    foreach ($items['description'] as $desc) { 
     foreach ($items['price'] as $price) { 

但是,給我重複。

謝謝!

+0

爲此使用'for'循環。 – OPatel

+0

在PHP中添加示例數據,並顯示當前結果和您期望的結果 –

+0

數組的格式是什麼? – Luke

回答

0

當然,你嵌套循環時,你不會得到你想要的。

可以使用$key => $value語法遍歷數組的一個,然後在循環中使用的鍵從其他陣列訪問值。 (當然,如果所有陣列具有完全相同的結構,其將只工作。)...但:

我有一個HTML表單陣列用不同的密鑰名稱=「QT []」,名字=「價格[] 」,名稱= '遞減[]'

我建議你而改變 - 使用qtpricedesc作爲指標擺在首位。

name="product[0][qt]", name="product[0][price]", name="product[0][desc]" 
name="product[1][qt]", name="product[1][price]", name="product[1][desc]" 

這會給你$ _POST裏的數組product(假設你的表單使用POST),你可以簡單地遍歷 - 和循環內,你就可以訪問該條目qtpricedesc每個產品。

這樣做的好處是可以將產品按照產品分組在一起,而對於目前的方法,如果其中一個值丟失(如果其中一個輸入字段是複選框,則不會提交如果未檢查),整個系統將崩潰,您無法再將正確的值與正確的產品匹配。

+0

我使用jquery添加輸入字段這種方法會很難 – user3066977

+0

不是真的,如果你做得對......而另一種方法是獲取內置字段之間沒有「連接」的數據,那就更糟了。 – CBroe

+0

我認爲是困難的,因爲我克隆輸入字段,當我點擊一個添加鏈接,我追加輸入的拳頭這樣的,所以在這種情況下,我不能添加索引鍵[0],[1],[2 ]我覺得很難 – user3066977