PHP将数组提交到POST失败

时间:2013-05-29 10:18:48

标签: php arrays post

当我尝试将这个简单的测试表单提交给PHP时:

<form action="test.php" method="post">
<input  name ="lang_learn[0]lang" type="text" value="1"><br>
<input  name ="lang_learn[0]level" type="text" value="2"><br>
<input  name ="lang_learn[1]lang" type="text" value="3"><br>
<input  name ="lang_learn[1]level" type="text" value="4"><br>
<input type="submit">
</form>

我希望在$ _POST数组中有这样的东西:

Array
(
[lang_learn] => Array
    (
        [0] => Array ([lang] => 1, [level] => 2)
        [1] => Array ([lang] => 3, [level] => 4)
    )

)

相反,我得到了这个:

Array
(
[lang_learn] => Array
    (
        [0] => 1
        [1] => 4
    )

)

我在不同的服务器上尝试了不同的安装,我总是得到相同的结果。 问题出在哪儿?阅读这个应该是正确的方法。

5 个答案:

答案 0 :(得分:5)

输入字段的名称需要修复:

<input  name ="lang_learn[0][lang]" type="text" value="1"><br>
<input  name ="lang_learn[0][level]" type="text" value="2"><br>
<input  name ="lang_learn[1][lang]" type="text" value="3"><br>
<input  name ="lang_learn[1][level]" type="text" value="4"><br>

答案 1 :(得分:5)

您需要使用子数组,就像在PHP中一样。每个密钥都应包含[]。试试这个......

<form action="test.php" method="post">
<input  name ="lang_learn[0][lang]" type="text" value="1"><br>
<input  name ="lang_learn[0][level]" type="text" value="2"><br>
<input  name ="lang_learn[1][lang]" type="text" value="3"><br>
<input  name ="lang_learn[1][level]" type="text" value="4"><br>
<input type="submit">
</form>

答案 2 :(得分:3)

试试这个,

<form action="test.php" method="post">
<input  name ="lang_learn[0][lang]" type="text" value="1"><br>
<input  name ="lang_learn[0][level]" type="text" value="2"><br>
<input  name ="lang_learn[1][lang]" type="text" value="3"><br>
<input  name ="lang_learn[1][level]" type="text" value="4"><br>
<input type="submit">
</form>

答案 3 :(得分:2)

你可能需要这样做:

<form action="test.php" method="post">
<input  name ="lang_learn[0][lang]" type="text" value="1"><br>
<input  name ="lang_learn[0][level]" type="text" value="2"><br>
<input  name ="lang_learn[1][lang]" type="text" value="3"><br>
<input  name ="lang_learn[1][level]" type="text" value="4"><br>
<input type="submit">
</form>

答案 4 :(得分:0)

您的语法不正确:name ="lang_learn[0]lang"必须为name ="lang_learn[0][lang]"