首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将表单输入数组转换为PHP数组?

如何将表单输入数组转换为PHP数组?
EN

Stack Overflow用户
提问于 2018-01-24 03:54:15
回答 2查看 0关注 0票数 0

我有一个表单,如下面所示发布到contacts.php,用户可以动态地添加更多的jQuery。

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

<input type="text" name="name[]" />
<input type="text" name="email[]" />

<input type="text" name="name[]" />
<input type="text" name="email[]" />

如果我使用下面的代码在PHP中回显出来

代码语言:javascript
复制
$name = $_POST['name'];
$email = $_POST['account'];

foreach( $name as $v ) {
print $v;
}

foreach( $email as $v ) {
print $v;
}

我会得到这样的东西:

name1name2name3email1email2email3

我怎么能得到:

代码语言:javascript
复制
function show_Names($n, $m)
{
return("The name is $n and email is $m, thank you");
}

$a = array("name1", "name2", "name3");
$b = array("email1", "email2", "email3");

$c = array_map("show_Names", $a, $b);
print_r($c);

所以我的输出是这样的:

姓名是name1,email是email1,谢谢 。姓名是name2,email是email2,谢谢 。姓名是name3,email是email3,谢谢

感谢您的任何帮助或建议

EN

回答 2

Stack Overflow用户

发布于 2018-01-24 12:52:43

它们已经在数组中:$name是一个数组,就像$email

所以你所要做的就是添加一些处理来改变这两个数组:

代码语言:javascript
复制
$name = $_POST['name'];
$email = $_POST['account'];

foreach( $name as $key => $n ) {
  print "The name is ".$n." and email is ".$email[$key].", thank you\n";
}

要处理更多,只需扩展模式:

代码语言:javascript
复制
$name = $_POST['name'];
$email = $_POST['account'];
$location = $_POST['location'];

foreach( $name as $key => $n ) {
  print "The name is ".$n.", email is ".$email[$key].
        ", and location is ".$location[$key].". Thank you\n";
}
票数 0
EN

Stack Overflow用户

发布于 2018-01-24 13:38:24

例如,将字段命名为

代码语言:javascript
复制
<input type="text" name="item[0][name]" />
<input type="text" name="item[0][email]" />

<input type="text" name="item[1][name]" />
<input type="text" name="item[1][email]" />

<input type="text" name="item[2][name]" />
<input type="text" name="item[2][email]" />

(通过javascript添加元素也是可能的)

对应的php脚本看起来像:

代码语言:javascript
复制
function show_Names($e)
{
  return "The name is $e[name] and email is $e[email], thank you";
}

$c = array_map("show_Names", $_POST['item']);
print_r($c);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007230

复制
相关文章

相似问题

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