Php 将foreach内部的数组传递给foreach外部的变量?

Php 将foreach内部的数组传递给foreach外部的变量?,php,Php,我从表单中获取数据并使用wp\u mail通过电子邮件发送,因为有多个数据(所有复选框数据),所以显然需要一个foreach 我不能在foreach中获取数据并在语句外使用它 //My form data $checks = $_POST['personalization_result']; //Pass the foreach array into this variable and use this to mail $checkString = ''; //For eac

我从表单中获取数据并使用
wp\u mail
通过电子邮件发送,因为有多个数据(所有复选框数据),所以显然需要一个foreach

我不能在foreach中获取数据并在语句外使用它

 //My form data
 $checks = $_POST['personalization_result'];

 //Pass the foreach array into this variable and use this to mail
 $checkString = '';

    //For each checkbox data
    foreach ($checks as $k => $v) {
     var_dump ($v);
    }

 //Email the data
 $sent = wp_mail($to, $subject, $checkString, $headers); //I have set up the other variables but its not necessary to add here just focused on $checkString
表单的片段

<form action="<?php the_permalink(); ?>" method="post"> 

<?php echo $checkString; ?>// Trying to see what the array is doing

<input type="hidden" name="submitted" value="1">

<p><input type="submit"></p>

<li class="option table selected">
    <input type="hidden" value="0" name="personalization_result[memory_0]">
    <input type="checkbox" value="1" name="personalization_result[memory_0]" id="personalization_result_memory_0" checked="checked">                                        
</li> 


<li class="option table selected">
    <input type="hidden" value="0" name="personalization_result[memory_1]">
    <input type="checkbox" value="1" name="personalization_result[memory_1]" id="personalization_result_memory_1" checked="checked">                                    
</li>  

由于
wp\u mail
的第三个参数
message
是一个字符串,我认为您可以完全避免foreach,使用foreach获取值作为数组,并使用一些胶水将它们连接起来,而不是通过
$checks
数组循环。请尝试:

$checkValues = array_values($checks);
$checkString = implode(',', $checkValues); // This generates comma separated list of values.

您可以在函数调用中使用您喜欢的任何胶水(本例中为逗号),这取决于您希望如何显示
$checkValues

在for之外声明数组。您是说要将
$v
附加到
$checkString
每个循环吗?而不是
var\u dump($v)
执行
$checkString.=$v
=
意味着附加到字符串。是的,我想做的很简单,只需通过电子邮件发送所有表单值,无论是1(选中)还是0(未选中)。哦,好的,那么我可以在foreach之外使用$checkString?让我说声谢谢,我现在就要实施了!是的,这很有效,你就是那个人。。。上面的答案也不错,但我喜欢这样:)我刚给自己发了封电子邮件,效果非常好。。