Php复选框POST数组

时间:2015-09-15 16:55:40

标签: php arrays checkbox

我有一个带有复选框的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;

电子邮件可以正常工作,因为它只是来自一个输入字段的POST数据。但是如何将数组保存到变量中,以便像

那样
$services = "check 1, check 2, check 3";

2 个答案:

答案 0 :(得分:2)

我猜你是想把这个数组放在你的电子邮件中。在这种情况下,PHP将仅使用单词Array来告诉您实际数组,而不是字符串。

要获取以逗号分隔的列表,您应该在$services上使用implode()函数(不要忘记先过滤它!)。

$commaList = implode(', ', $services);

答案 1 :(得分:0)

您应该在PHP中使用implode()函数。

$variable = implode(', ', $services);

你也可以使用foreach循环。

$variable = '';
foreach($services as $key => $value){
    $variable .= $value . ', ';
}

rtrim($variable, ', ');