[英]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.