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?让我说声谢谢,我现在就要实施了!是的,这很有效,你就是那个人。。。上面的答案也不错,但我喜欢这样:)我刚给自己发了封电子邮件,效果非常好。。