Php 如何实现带引号的文本数组

Php 如何实现带引号的文本数组,php,arrays,email,for-loop,quotation-marks,Php,Arrays,Email,For Loop,Quotation Marks,我有一些理解上的困难。我在html中有一些复选框,如下所示: <input type="checkbox" name="a[]" value="1"> <input type="checkbox" name="a[]" value="2"> <input type="checkbox" name="a[]" value="3"> 此外,我想为每个选定值将一些消息设置到另一个数组中: if ($a === '1'){ $msg[] = "text1";

我有一些理解上的困难。我在html中有一些复选框,如下所示:

<input type="checkbox" name="a[]" value="1">
<input type="checkbox" name="a[]" value="2">
<input type="checkbox" name="a[]" value="3">
此外,我想为每个选定值将一些消息设置到另一个数组中:

if ($a === '1'){
   $msg[] = "text1";
}
if ($a === '2'){
   $msg[] = "text2";
} and so on...
现在我已将这些消息存储到数组
$msg[]

下一步,我真正的问题来了:

我喜欢在将要发送的邮件中显示整个选择。因此,到目前为止,我有:

$to = "a@b.cd";
$subject = "some text";
$message = "some text... 

show what was selected:

$msg

end text";...
所以通常我知道我必须使用foreach,比如:

<?php if(isset($msg)):?>
    <?php foreach($msg as $m):?> 
        <p>
        <?php echo $m;?>
        </p>
    <?php endforeach;?>
<?php endif;?>


使其可见。我的问题是如何将它从邮件中实现到消息中,并将其转换到引号中

所以如果有人能帮我,我真的很感激


非常感谢。

只需使用字符串连接,在PHP中使用(点)操作符即可

$message = "some text... \n\nshow what was selected:\n\n";

foreach ($a as $b)
{
    $message .= $b . "\n";
}

$message .= "end text";
此外,您应该研究变量命名($a不是真正的描述性的),并且$a是一个数组,因此您不能执行
如果($a==='1')
,您应该使用。

您应该这样做

$msg = array();
foreach($a as $checked){
    $msg[$a] = "text$a";
}
然后

<?php if(isset($msg)):?>
    <?php foreach($msg as $k => $m):?> 
        <p>
        <?php echo "$k : $m";>
        </p>
    <?php endforeach;?>
<?php endif;?>



您是否尝试过添加斜杠($m)
如果($a==='1')
->这是否有效?使用您提供的代码,它永远不会工作。@Jon我可能错了,但发布的值总是错误的strings@NicolaPeluchetti你是对的,但是
$a
在这里应该是一个数组。我对它的理解正确吗:if(in_array($a)){(if$a=='1'){$msg[]='text1'..等等?谢谢你到目前为止。@bonny不,使用
if(in_array('1',$yourray)){…}
<?php if(isset($msg)):?>
    <?php foreach($msg as $k => $m):?> 
        <p>
        <?php echo "$k : $m";>
        </p>
    <?php endforeach;?>
<?php endif;?>