【问题标题】:Converting array to string将数组转换为字符串
【发布时间】:2014-12-13 04:23:52
【问题描述】:

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

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

我看到将数组转换为字符串时出现问题,但我不知道如何,我尝试了一些示例,但没有一个有效。贝娄我放了我认为是我的问题的代码。 `回声''; 回声'';

     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(" ", $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";

【问题讨论】:

  • 可以发var_dump($cart_items);的内容吗?
  • 在你的脚本中 $cart_items 是一个整数。

标签: php arrays string


【解决方案1】:

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

例如

$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']);

【讨论】:

  • 好吧。感谢您的解决方案,它工作得很好。谢谢你,兄弟。 :)
  • @AdrianAdr 如果正确,您应该接受答案
【解决方案2】:

你可以使用serialize(),你也可以使用implode()函数另一个不错的选择是http_build_query

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2011-02-15
    相关资源
    最近更新 更多