2015-02-06 49 views
1

我提交頁面包括一些複選框:如何將傳入複選框值轉換爲一個隱藏字段值?

<input type="checkbox" name="p_queue_type[]" id="p_queue_type_all" value="All"> 
<input type="checkbox" name="p_queue_type[]" id="p_queue_type_CR" value="CR" checked> 
<input type="checkbox" name="p_queue_type[]" id="p_queue_type_FPU" value="FPU"> 
<input type="checkbox" name="p_queue_type[]" id="p_queue_type_HOLD" value="HOLD" checked> 

我的處理頁面需要將任何進入的「p_queue_type []」的值轉換成一個隱藏字段(該實施例中期望的結果假定「CR」和「保持」是選中):

<input type="hidden" name="p_queue_type[]" value="['CR','HOLD']" /> 

我試圖將這一功能整合到現有的循環,在進入$_POST陣列迭代:

foreach ($attributes as $field => $value){ 
     echo('<input type="hidden" name="'.$field.'" id="'.$field.'" value="'.$value.'" />'); 
    }; 

但是這會導致一個無用的隱藏字段值:

<input type="hidden" name="p_queue_type[]" value="Array" /> 
+0

試試這個''<輸入type =「checkbox」name =「p_queue_type [all]」id =「p_queue_type_all」value =「All」> '' – mend3 2015-02-06 22:57:04

回答

2

這應該工作:

foreach ($attributes as $field => $value){ 
    $value = is_array($value) ? '[' . implode(',', $value) . ']' : $value; 
    echo('<input type="hidden" name="'.$field.'" id="'.$field.'" value="'.$value.'" />'); 
}; 

它的PHP數組轉換爲HTML友好陣列串

+0

這正是我所要求的。謝謝喬納森。 – 2015-02-06 23:07:51

+1

我很高興它有幫助! – 2015-02-06 23:08:12

相關問題