我的提交页面包含一些复选框:
<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 :(得分: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友好的数组字符串