2012-07-15 46 views
-1

我的英语可能会令人困惑,我会尽量具体。这是关于PHP,在这里在stackoverflow我找到了一块代码是如此接近给我我想要什么(ValkerK的答案),我有两个数组迭代到一个,我发现一个问题的答案正是什么我正在寻找。我只需要创建一个变量并将打印件发送到电子邮件。它可能是最简单的,但我不完全是一个专家,这里是代码,如果你可以帮助我,感谢阅读此。发送MultipleIterator到一个电子邮件

$want = new ArrayIterator($_POST['product']); 
$amount = new ArrayIterator($_POST['howmany']); 

$it = new MultipleIterator; 
$it->attachIterator($want); 
$it->attachIterator($amount); 

foreach($it as $e) { 
echo $e[0], ' : ', $e[1], ", "; 
} 

然后,我有这个打印

Product1:10, Product2:12, Product3:7.... etc 

我需要一个变量来发送到电子邮件,但我仍然不能使它它的工作... thankes对您有所帮助。

回答

2

使用这样的事情:

$contents = ''; 
foreach($it as $e) { 
    $contents .= $e[0] . ' : ' . $e[1] . ", "; 
} 

现在,您可以通过电子邮件$contents,其中将包含完全相同的输出。您也可以使用output buffering,但对于这样一个简单的用例,我不会为此而烦恼。

+0

感谢,但我不能让它工作,我想你的答案是正确的,但是当我解决它扔在线这个错误: 致命错误:类“MultipleIterator”不是在/ home/termoaro /的public_html发现/sendreq.php第17行。你知道为什么吗?使用本地服务器似乎正在工作,但在线... – JeanR 2012-07-15 16:42:03

+0

因为您正在远程服务器上运行PHP的旧版本。 – nickb 2012-07-15 16:51:08

+0

这是php5对不对?我只是更新它,但它仍然不工作:( – JeanR 2012-07-15 17:04:29

0
$var = implode("\n",array_map(function($v){ 
    return $v[0]. ':'. $v[1].","; 
}, $it)); 
+0

我不明白如何使用它...你能否解释一下,我不是那个专家,它现在可以选择,实际的服务器不支持PHP5> 5.3.0,所以MultipleIterator不能使用,谢谢! – JeanR 2012-07-15 20:05:31