首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML/PHP -以数组形式输入,需要逗号分隔值

HTML/PHP -以数组形式输入,需要逗号分隔值
EN

Stack Overflow用户
提问于 2018-06-07 21:56:51
回答 4查看 1.1K关注 0票数 0

我得到了一个类似这样的表单:

代码语言:javascript
复制
<input name="form[AttendeesInstitution][]" type="text">
<input name="form[AttendeesInstitution][]" type="text">

在使用Firefox开发人员工具时,我可以从我的$_POST中看到,我得到了一个有效的值数组。我的问题是,它被提交到数据库中,比如"Flexsus Brugsen“。我需要它是这样的逗号分隔值:"Flexsus,Brugsen“。我试图在一个有限的Joomla组件中构建它,这样我就可以在_POST之前做一些jQuery,或者在_POST上做一些PHP。但我找不到解决方案:

编辑:删除HTML id

EN

回答 4

Stack Overflow用户

发布于 2018-06-07 22:06:54

请为每个元素设置不同的ID,之后您将能够使用此代码。

下面是你可以做的事情

代码语言:javascript
复制
<?php
     $post = array(); 
     foreach($_POST as $key=>$value){
         $post[$key]= $post[$key].', '.$value;
     }
     /* Now $post will look as what you want*/
 ?>
票数 0
EN

Stack Overflow用户

发布于 2018-06-07 22:27:09

您可以使用php implode()函数

代码语言:javascript
复制
<?php
...
implode(",",$_POST["form"]["AttendeesInstitution"]);
...
?>
票数 0
EN

Stack Overflow用户

发布于 2018-06-08 00:31:23

我认为您假设$_POST被设置为

代码语言:javascript
复制
$_POST["form"]["AttendeesInstitution"][]

实际上,我会假设它是这样设置的(我需要查看print_r($_POST)的输出才能确定)。

代码语言:javascript
复制
$_POST["form[AttendeesInstitution]"][]

所以你访问它的方式应该是抛出一个Undefined index

您有两个选项来解决这个问题

循环数组,就像你拥有它,但可能不是你想要的:

代码语言:javascript
复制
foreach($_POST["form[AttendeesInstitution]"] as $k=>$v){
    //Stuff you do here
}

或者更新表单输入,使数据符合您的要求,因为$_POST已经是一个数组。

代码语言:javascript
复制
<input name="[form][AttendeesInstitution][]" type="text">
<input name="[form][AttendeesInstitution][]" type="text">

我也不能100%测试这个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50743116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档