序列化数组输出为数字1

时间:2017-05-09 03:12:03

标签: php arrays serialization output

我无法弄清楚如何通过serialize() POST输出使用ajax发送的数组的结果。

此后的代码就是我现在拥有的代码。数字1是输出。如果我从变量中删除print_r,则数组只输出单词Array,我将数组转换为字符串错误。

我无法弄清楚如何将数组的结果作为实际字符串输出。

任何人都能看到我做错了什么?

<label class="drop-item">A<input type="checkbox" name="prop-type" class="drop-item-input" value="A"></label>
<label class="drop-item">B<input type="checkbox" name="prop-type" class="drop-item-input" value="B"></label>
<label class="drop-item">C<input type="checkbox" name="prop-type" class="drop-item-input" value="C"></label>

获取我的php中的值,如:

$proposal_type = print_r($_POST['prop-type']);

回复电子邮件中的变量,如下所示:

proposal inquiry for a ' . $proposal_type . '.

扩展代码:

$proposal_type = $_POST['prop-type'];
    $mail->Body    = '
    <div id="email-link-container" style="width:600px;height:auto;">
        <p>' . $proposal_company . '</p>
        <p>' . foreach($proposal_type as $key => $value){ echo $key.'=>'.$value; } . '</p>

1 个答案:

答案 0 :(得分:0)

您将获得print_r函数的返回值

$proposal_type = print_r($_POST['prop-type']);

如果您只想打印数组以进行调试,请仅print_r($_POST['prop-type']),如果您想迭代数组并逐个获取变量中的值,请使用foreach或for循环,

foreach($_POST['prop-type'] as $key => $value){
    echo $key.'=>'.$value;
}

您不能只使用echo打印数组。

编辑:

如果你想从数组中回显特定值,你可以这样做,

echo $proposal_type[0];
echo $proposal_type[1];

取决于您想要访问的值。

您可以做的具体问题,

$proposal_type = $_POST['prop-type'];
$mail->Body    = '
<div id="email-link-container" style="width:600px;height:auto;">
    <p>' . $proposal_company . '</p>';

foreach($proposal_type as $value){
   $mail->Body .= '<p>'.$value.'</p>';
}