为每个内爆添加一个变量

时间:2015-04-21 08:58:48

标签: php variables implode

我有一个图像文件名数组,通过联系表单传递,并作为电子邮件发送给网站所有者(这些图片是上传的,但该部分一切正常)。

$Images = $_POST['images6ex']打印数组,我使用$result = implode(', ', $Images);使其更具可读性。

我希望能够为每个内爆结果添加基本网址,因此电子邮件收件人只需点击(或复制/粘贴)电子邮件中的链接,而不是每次都登录到ftp 。这可能吗?没有必要将它包装在一个我不记得的href标签中。

我试过了:

$fullurl = array($baseurl,$Images);
$result = implode(', ', $fullurl);

但我得到了

  

http://whatever.com/files/,数组

作为输出。

我的最终输出需要是一个变量,因为这就是电子邮件正文的构建方式:http://pastebin.com/JJSW3Jbg。我不确定这是否是构建电子邮件正文的最有效方式,但它有效...

2 个答案:

答案 0 :(得分:2)

最短(但不是很优雅)的解决方案可能是:

$result = $baseurl.implode(', '.$baseurl, $Images);

这会将$baseurl的每个元素添加到$baseurl除了第一个(因为implode如何工作),然后将整个结果添加到其中,修复第一个元素。

答案 1 :(得分:0)

你需要循环将其添加到数组中的每个元素,这不会发生。最优雅的方法是array_map

echo join(', ', array_map(
    function ($url) use ($baseurl) { return "$baseurl/$url"; },
    $Images
));