【问题标题】:Serialized array outputting as the number 1序列化数组输出为数字 1
【发布时间】:2017-05-09 03:12:03
【问题描述】:

我不知道如何通过ajax POST 从使用serialize() 发送的数组中输出结果。

下面的代码就是我现在所拥有的。数字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>

【问题讨论】:

    标签: php arrays serialization output


    【解决方案1】:

    你在这里得到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>';
    }
    

    【讨论】:

    • 我以后如何在页面中调用该数组?截至目前,我只是在调用变量。我可以用你提供的foreach 方法做到这一点吗?
    • 我没有得到你,但 foreach 不会改变你的数组,它只是一个循环,你可以随意使用你的数组。
    • 然后只做$proposal_type = $_POST['prop-type'] 没有print_r 我假设$_POST['prop-type'] 是一个数组。
    • 您正在回显$proposal_type,而您必须使用print_rforeach 来显示数组内容。
    • 那么,我可以这样做吗? $proposal_type = foreach($_POST['prop-type'] as $key =&gt; $value){ echo $key.'=&gt;'.$value; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2016-05-13
    相关资源
    最近更新 更多