Php复选框POST数组


Php checkbox POST array

我有一个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, ', ');