我有一个html联系人表单,其中有复选框。当我去获取$_POST数据时,我所看到的复选框字段是ARRAY。
下面是HTML表单 的复选框片段 <div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="services[]" value="check 1">Type 1
</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="services[]" value="check 2 ">Type 2
</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="services[]" value="check 3">Type 3
</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="services[]" value="check 4">Type 4
</label>
</div>
</div>
这是我的PHP处理文件
$email = $_POST['email'];
if ( is_array ( $_POST['services'] ) ) {
$services = $_POST['services'];
}
echo 'email is: ' . $email . ' services :' . $services;
Email工作得很好,因为它只是从一个输入字段POST数据。但是我如何将数组保存到一个变量中呢比如
$services = "check 1, check 2, check 3";
我猜你是想把那个数组放到你的邮件里。在这种情况下,PHP
将只使用单词Array
来告诉您它是实际的数组,而不是字符串。
要获得逗号分隔列表,您应该在$services
上使用内爆()函数(不要忘记先过滤它!)。
$commaList = implode(', ', $services);
应该在PHP中使用implode()
函数。
$variable = implode(', ', $services);
也可以使用foreach循环。
$variable = '';
foreach($services as $key => $value){
$variable .= $value . ', ';
}
rtrim($variable, ', ');