2015-09-15 97 views
1

我有一個html複選框的聯繫表單。當我去獲取$ _POST數據時,我所看到的複選框字段是ARRAY。Php複選框POST數組

這裏是複選框片段形成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"; 
+0

'$ _POST ['services']'是一個數組。所以你可以調用每個數組元素的值,比如'$ _POST ['services'] [0]','$ _POST ['services'] [1]'等等。最簡單的方法是使用'foreach'循環。 – icecub

回答

2

我想你想只是把該數組中的郵件。在這種情況下,PHP將只使用字Array讓您知道它是實際的數組,而不是字符串。

要獲得以逗號分隔的列表,您應該使用implode()函數$services(不要忘記先過濾它!)。

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

我站好了。這很容易xD – icecub

+0

謝謝你,這樣一個很好的解決方案:) – ServerSideSkittles

0

您應該使用PHP中的implode()函數。

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

你也可以使用foreach循環。

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

rtrim($variable, ', ');