当我尝试将这个简单的测试表单提交给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
)
)
我在不同的服务器上尝试了不同的安装,我总是得到相同的结果。 问题出在哪儿?阅读这个应该是正确的方法。
答案 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]"