在PHP邮件中发送数组或会话值

时间:2010-11-21 06:32:30

标签: php email foreach

我有一个会话数组,我想在电子邮件正文中发送内容。

$_SESSION['order']是我的会话值,print_r[$_SESSION['order']]为我提供如下输出:

Array 
( 
    [0] => Array 
           ( 
               [0] => product one 
               [1] => 1 
           ) 
    [1] => Array 
           ( 
               [0] => product two 
               [1] => 1 
           ) 
    [2] => Array 
           ( 
               [0] => product three 
               [1] => 1 
           ) 
) 

我的会话值是2D数组,我需要获取此会话数据。

以下是我在电子邮件正文中的内容:

$Body="<b>Oder Details</b>  
<table> 
foreach($order as $row)  
{  
echo '<tr>';  
echo '<td>$row[0]</td>';  
echo '<td>$row[1]</td>';  
echo '</tr>';  
}  </table>"

但是我收到的所有内容都是空白的,除了这个文字:

Order Details   
foreach(Array as ) {
}

为什么即使$_SESSION包含值,我也会收到空白的电子邮件?我的foreach循环错了吗?

2 个答案:

答案 0 :(得分:3)

我会在这里疯狂猜测,但我认为构建电子邮件的正确方法是:

$body = "<b>Oder Details</b>";
$body .= "<table>";

foreach($order as $row)
{
 $body .= "<tr>";
 $body .= "<td>$row[0]</td>";
 $body .= "<td>$row[1]</td>";
 $body .= "</tr>";
} 

$body .= "</table>";

我认为问题在于你的循环在字符串引号内。只是一个想法。

答案 1 :(得分:0)

查看这个关于数组的PHP manaul页面: -

http://php.net/manual/en/language.types.array.php

确定从Array获取元素时使用哪种方法,因为有不同的方法,如Indexed和Associative数组类型,以及某些函数在检索数组元素(如mysql_fetch_assoc()

时可能使数组为空

我希望这可以帮助你......