簡體   English   中英

如何獲得具有動態形式的所需多維數組?

[英]How to get desired multidimensional array with dynamic form?

我想獲得所需的多維數組,如下所示:

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
        )

)

如何獲取值並進行配對?

您需要為texteara和textbox對都指定相同的index(key),除非每個數據都像這樣推入新索引

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)
      )`

通過使用[] []為輸入字段命名來收集多維數組中的值。 讓發布請求發布到同一文件中以進行測試。 通過創建嵌套的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;
         }       
      }
    }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM