Php 如何实现带引号的文本数组
我有一些理解上的困难。我在html中有一些复选框,如下所示: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";
<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;?>