我的提交页面包括一些复选框:
<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"answers"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" />
这应该有效:
foreach ($attributes as $field => $value){
$value = is_array($value) ? '[' . implode(',', $value) . ']' : $value;
echo('<input type="hidden" name="'.$field.'" id="'.$field.'" value="'.$value.'" />');
};
它将php数组转换为html友好的数组字符串