2017-05-23 33 views
0

我想要得到所需的多维数组如下:如何用动态表单获得所需的多维数组?

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

显示您的html表单 – JYoThI

+0

这是一个模糊的问题 – Ghost

+0

如果你不希望这篇文章关闭,你最好添加一些相关信息。 – RST

回答

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; 
     }  
     } 
    } 
?> 
1

你需要指定相同的索引(键)两个texteara和文本框对,除非每个数据推入新的索引这样

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> 

OUTPUT

`array (
      array (abc => 'a', def => 1), 
      array (abc => 'b',def => 2) 
    )`