将数组转换为字符串

时间:2014-10-17 14:41:54

标签: php arrays string

我有一个购物车php页面,我在其中显示客户端产品。在同一页面中,我有一个表格,可以将客户的个人详细信息(如姓名,姓氏等),以及产品名称,数量等产品信息直接发送到我的电子邮件地址。

现在,问题在于,当我发送表单时,在我的电子邮件地址上,我会收到所有信息,但不会收到产品详细信息,例如订单电子邮件中的产品名称字段,我有ARRAY。

我看到将数组转换为字符串存在问题,但我不知道如何,我已经尝试了一些例子,但没有一个有效。贝娄我已经把我的代码放在我认为是我的问题上。 `echo'&#39 ;;          回声';

     echo '<input type="hidden" name="product_name['.$cart_items.']" value="'.$obj->product_name.'" />';
     echo '<input type="hidden" name="item_code['.$cart_items.']" value="'.$product_code.'" />';
     echo '<input type="hidden" name="item_desc['.$cart_items.']" value="'.$obj->product_desc.'" />';
     echo '<input type="hidden" name="item_qty['.$cart_items.']" value="'.$cart_itm["qty"].'" />';
     $cart_items ++;
     echo '<input type="submit" value="submit">';`


 function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);

$ product_name_string = implode(&#34;&#34;,$ cart_items);     }

    $email_message .= "Nume: ".clean_string($name1)."\n";

    $email_message .= "E-mail: ".clean_string($email1)."\n";
    $email_message .= "Cos: ".clean_string($product_name_string)."\n";

2 个答案:

答案 0 :(得分:1)

您可以使用serialize(),也可以使用implode()功能另一个不错的选择是http_build_query

答案 1 :(得分:0)

基本PHP:字符串上下文中使用的数组只是文字Array

e.g。

$foo = array('a', 'b', 'c');
echo $foo;

将打印单词Array,而不是a,b,c或其他任何内容。

您告诉PHP您的输入字段将被视为数组:

<input type="text" name="item_code[foo]" ...
                                  ^---^----

所以$_POST['item_code']本身就是一个数组。如果您希望这些数组的内容出现在您的电子邮件中,请使用以下内容:

$item_codes = implode(',', $_POST['item_code']);