PHP如何在变量中拆分数组

Posted

技术标签:

【中文标题】PHP如何在变量中拆分数组【英文标题】:PHP how to split an array in variables 【发布时间】:2013-08-09 21:08:53 【问题描述】:

大家好,我需要帮助!一周前我开始学习php。 我有一个为联系人发布一些文本字段的表单,我需要将数组拆分为一些变量以放入电子邮件中。这是我的代码

$field  = $_POST['input'];
if ( isset( $field ) === TRUE)

foreach ($field as $key => $value) 

    echo '<pre>' , print_r( $value ) , '</pre>'; //to list the array

    

    $to = $mail;
    $sbj = "thanks to register to $site";
    ..//some headers
    mail($to,sbj,$headers)


这是表格

<form action="upload.php" method="POST">
 <input type="text" name="input[]">
 <input type="text" name="input[]">
 <input type="text" name="input[]">
 <input type="submit" value="invia">
</form>

对检索数组上的变量以包含在邮件中的任何建议?

【问题讨论】:

【参考方案1】:

@John 给出了正确的程序。您可以使用array_push() 函数来使用另一个过程,例如:

$field  = $_POST['input'];
$info =  array();

foreach ($field as $key => $value) 
 array_push($info,$value);


// echo implode(",",$info);
$to = $mail;
$sbj = "thanks to register to $site";
$body = implode(",",$info);
..//some headers
mail($to,sbj,$body,$headers)

【讨论】:

使用 input type="file" 输入是一样的吗?【参考方案2】:

您可以使用implode() 函数,它接受一个数组和一个分隔符,并将数组的元素连接成一个字符串,每个元素由您传递的分隔符字符串分隔,例如:

foreach($field as $key=>$value) 
    $input[] = $value;


$body = implode("\n",$input); //implode here

$to = $mail;
$sbj = "thanks to register to $site";
..//some headers
mail($to,sbj,$body,$headers) 

这将在电子邮件的单独一行中创建您的输入列表。

【讨论】:

【参考方案3】:

最简单但最丑陋的方法就是使用:

mail($to,sbj,print_r($field, true),$headers);

print_r($field, true) 会将值输出到变量中,而不是立即打印出来。

【讨论】:

以上是关于PHP如何在变量中拆分数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在PHP中按字符将数组拆分为关联数组[重复]

php当中,如何将数组合并成变量呢?

如何拆分字符串并构建一个关联数组php?

PHP:将字符串拆分为数组 foreach char

oracle 如何将一个字段里的值拆分为多个值显示出来

如何在 PHP 中循环并输出变量数组对象的值