【发布时间】:2019-11-23 00:45:42
【问题描述】:
我正在通过 API 提交附加输入。每次的项目数量都不一样。当我提交表单时,输入提交成功并返回一个对象,但只提交最后附加的输入。如何在显示的数组内运行循环,或者循环的语法在这里有效,以便我为每个附加的输入提交一个新项目?感谢您考虑。
<script>
$(document).ready(function(){
$("#new").click(function(){
$("table").append("<tr><td><input type= 'text' name = 'item[]'</td> </tr>");
});
});
</script>
<?php
在输入 name="item[]" 我的 PHP 的表单/表格之后:
if (isset($_POST['submit']))
{
$size = sizeof($_POST['item']);
for ($i = 0; $i < $size; $i++)
{
$product = $_POST['item'][$i];
}
$fields = array(
'customer' => 992058,
'items' => [
[
'name' => $product,
]
]
);
// HERE IS A CURL CALL that POSTS $fields AND RETURNS JSON
?>
我希望返回的 JSON 可能类似于
"items":[{"name":"product1"}][{"name":"product2"}];
而不是我得到的是
"items":[{"name":"product2"}]
【问题讨论】:
-
有什么特别的原因让你从 position = 1 开始循环吗?你能转储你的
$_POST['item']数组吗?或显示项目如何定位以及它们有什么索引。 -
您对位置 = 1 的看法是正确的。我将其固定为零。 var_dump 返回一个字符串,如果我将它放在循环中,它会返回所有输入。但只有最后一个输入会创建一个带有名称的新项目。这有意义吗?
标签: php arrays json loops append