发布具有相似名称和相似值的数组

时间:2019-05-06 14:09:45

标签: php html forms post

我之所以发布此信息,是因为我真的不知道可以搜索什么。请注意我有基本的知识并且正在学习;此外,有时我可能会使用错误的字词,对此感到抱歉。

我正在通过PHP / MySQL,HTML,Bootstrap和JQuery设置Web应用程序。

我需要将一个数组发布到我的数据库中。问题是,此数组可能包含相同值的几倍。实际上,该数组是由html表中的值组成的,这要归功于JQuery和DataTable,可以向其中添加行以同时添加更多数据。

到目前为止,我什至不知道如何发布一个数组,并发现以下解决方案可以做到这一点,如以下代码所示:

<form method="post">
    <input name="country[]" value="France">
    <input name="country[]" value="Spain">
    <input name="country[]" value="Germany">
    <input type="submit">
</form>
$country = $_POST['country'];
print_r $country;

将包含以下数组结果:

|country|
|-------|
|France |
|Spain  |
|Germany|

很棒。

但是有时候我需要做的是这样的:

<form method="post">
    <input name="country[]" value="France">
    <input name="country[]" value="France">
    <input name="country[]" value="France">
    <input type="submit">
</form>

我想要这样:

$country = $_POST['country'];
print_r $country;

包含数组:

|country|
|-------|
|France |
|France |
|France |

但是,POST仅包含

|country|
|-------|
|France |

而Firefox开发人员工具清楚地告诉我该页面发送了我需要接收的确切数组。

Form Data
   country[]: [...]
      0: France
      1: France
      2: France

您能帮我吗? 非常感谢您的时间和关注。

1 个答案:

答案 0 :(得分:0)

感谢Daan问我如何检查$_POST['country'];包含的内容。

我修改了原始帖子以包含这些信息。这样一来,我看到更改后便对其进行了检查,以便稍后在foreach中再次使用它来显示另一个数组中的所有行。

所以我检查了正确的方法。

事实证明,我的问题有很多不同,并且与我对foreach的使用有关。

实际上,我使用国家/地区名称作为foreach的索引。由于只能使用唯一索引,因此只能使用一次“法国”。

对于scaisEdge:这是我修改为匿名的数据,而country是这样做的最简单方法。想象一下产品而不是国家,这就是为什么用户可以多次添加一个唯一名称的原因。