2015-02-06 2 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» и «HOLD» являются проверено):

<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

ответ

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

Это именно то, что я просил. Спасибо Джонатан. –

+1

Я рад, что это помогает! –

Смежные вопросы