在PHP中配对输入同名数组

时间:2017-05-22 09:26:24

标签: php

我有两个输入如下:

<form method="post" action="#">
<input type="text" name="prod[][prod]"><input type="text" name="prod[][qty]">
<input type="text" name="prod[][prod]"><input type="text" name="prod[][qty]">
/* The second input set was generated dynamically via jQuery. */
</form>

我希望将每种产品与其产品配对。具有以下代码的多维数组的数量(感谢@Styphon):

$works = $_POST['prod'];
foreach ($works as $work => $value) {
    echo $value['prod'] ." ". $value['qty'] ."<br>";
}

然而,结果很奇怪如下

aa
11
bb
22

感谢有人可以提供帮助。

1 个答案:

答案 0 :(得分:2)

您需要一个多维数组。像这样:

<form>
    <input type="text" name="prods[0][prod]">
    <input type="text" name="prods[0][qty]">

    <input type="text" name="prods[1][prod]">
    <input type="text" name="prods[1][qty]">
</form>

然后在PHP中,您可以使用$_POST['prods']访问多维数组,您可以使用foreach遍历每个数组:

foreach ( $_POST['prods'] as $i => $arr )
{
    echo "$i is prod {$arr['prod']} and qty {$arr['qty']}<br>";
}