为每个内爆添加一个变量
Adding a variable to each implode
我有一个图像文件名数组,它通过联系表传递,并作为电子邮件发送给网站所有者(这些图像是上传的,但那部分工作正常)。
$Images = $_POST['images6ex']
打印数组,我使用 $result = implode(', ', $Images);
使其更具可读性。
我希望能够为每个内爆结果添加一个基础 URL,这样电子邮件收件人只需单击(或 copy/paste)中的 link电子邮件,而不是每次都登录 ftp。这可能吗?没必要用我不认为的 href 标签包起来。
我试过了:
$fullurl = array($baseurl,$Images);
$result = implode(', ', $fullurl);
但我刚得到
http://whatever.com/files/, Array
作为输出。
我的最终输出需要是一个变量,因为这是电子邮件正文的构建方式:http://pastebin.com/JJSW3Jbg。我不确定这是否是构建电子邮件正文的最有效方法,但它确实有效...
您需要循环将其添加到数组中的每个元素,这不会像那样发生。最优雅的方法是array_map
:
echo join(', ', array_map(
function ($url) use ($baseurl) { return "$baseurl/$url"; },
$Images
));
最短(虽然不是很优雅)的解决方案可能是:
$result = $baseurl.implode(', '.$baseurl, $Images);
这会在 $baseurl
的每个元素前加上 $baseurl
,第一个元素除外(因为 implode
就是这样工作的),然后在整个结果前加上它,以修复第一个元素。
我有一个图像文件名数组,它通过联系表传递,并作为电子邮件发送给网站所有者(这些图像是上传的,但那部分工作正常)。
$Images = $_POST['images6ex']
打印数组,我使用 $result = implode(', ', $Images);
使其更具可读性。
我希望能够为每个内爆结果添加一个基础 URL,这样电子邮件收件人只需单击(或 copy/paste)中的 link电子邮件,而不是每次都登录 ftp。这可能吗?没必要用我不认为的 href 标签包起来。
我试过了:
$fullurl = array($baseurl,$Images);
$result = implode(', ', $fullurl);
但我刚得到
http://whatever.com/files/, Array
作为输出。
我的最终输出需要是一个变量,因为这是电子邮件正文的构建方式:http://pastebin.com/JJSW3Jbg。我不确定这是否是构建电子邮件正文的最有效方法,但它确实有效...
您需要循环将其添加到数组中的每个元素,这不会像那样发生。最优雅的方法是array_map
:
echo join(', ', array_map(
function ($url) use ($baseurl) { return "$baseurl/$url"; },
$Images
));
最短(虽然不是很优雅)的解决方案可能是:
$result = $baseurl.implode(', '.$baseurl, $Images);
这会在 $baseurl
的每个元素前加上 $baseurl
,第一个元素除外(因为 implode
就是这样工作的),然后在整个结果前加上它,以修复第一个元素。