我希望获得所需的多维数组,如下所示:
array (
array (abc => 'a', def => 1),
array (abc => 'b',def => 2)
)
但无法了解如何构建其形式。帮帮我这个家伙。
我尝试按照以下方式构建表单,期望获得上述结果。
<form method="POST" action="test.php">
<textarea name="test[][abc]"></textarea>
<input type="text" name="test[][def]">
<textarea name="test[][abc]"></textarea>
<input type="text" name="test[][def]">
// the 2nd set of textarea and input was dynamically generated by jQuery
<input type="submit">
</form>
如果之前的问题没有完成,请大家道歉。
更新:
在对HTML进行某些修改后,我成功获得了如下数组:
Array
(
[scope] => Array
(
[0] => iusd
[1] => aishsadf
)
[qty] => Array
(
[0] => 723186
[1] => 324
)
)
如何访问该值并配对?
答案 0 :(得分:1)
你需要为texteara和textbox对指定相同的索引(键),除非每个数据都像这样推入新的索引
array (
array (abc => 'a'),
array (def => 1),
array (abc => 'b'),
array (def => 2)
)
所以表格应该是这样的
<form method="POST" action="test.php">
<textarea name="test[0][abc]"></textarea>
<input type="text" name="test[0][def]">
<textarea name="test[1][abc]"></textarea>
<input type="text" name="test[1][def]">
<input type="submit">
</form>
输出
`array (
array (abc => 'a', def => 1),
array (abc => 'b',def => 2)
)`
答案 1 :(得分:0)
通过为输入字段指定名称为[] []来收集多维数组中的值。让帖子请求发布到同一个文件以进行测试。通过创建嵌套的foreach语句来打印输出值。
//filename = post.php
<form action="post.php" method="post">
<label>field1</label>
<input type="text" name="array[0][value1]">
<label>field2</label>
<input type="text" name="array[1][value2]">
<input type="submit" value="submit">
</form>
<?php
if(isset($_POST)){
$array = $_POST['array'];
foreach($array as $key => $array2){
foreach($array2 as $key => $value){
echo $value;
}
}
}
?>