我正在尝试设置用户权限,它们作为数组存储在数据库中..这是我的html表单的当前输出...
<tr>
<td>
<table width="100%" border=0 style="margin-top:20px;visibility:hidden;" id="vieweva">
<tr>
<td class="form" ><br>asdfjkl;asdfjkl;asdfjkl;</td>
</tr>
</table>
</td>
</tr>
但我需要将其格式化为:
{
"where_to_buy": "true",
"spec_sheet": "true",
"dwg_access": "true",
"bim_access": "true",
"product_prices": "true",
"portal_access": "true",
"save_quote": "true",
"request_drawings": "true",
"place_order": "true",
"special_offer": "true"
}
如何停止或将我的html表单提交从字符串转换为真值或假值?
答案 0 :(得分:4)
您可以像{/ p>一样使用array_map
和echo json_encode(array_map(function($v) {
if ($v == "true") {
return true;
} else {
return false;
}
}, json_decode($json, true)));
{{1}}
答案 1 :(得分:1)
您可以使用array_walk
映射值如果以后需要,您还可以添加超过true / false的
char *
编辑:同时进行,请参阅评论
// from json
$yourArray = json_decode($yourJSON, true);
// map values
array_walk($yourArray, function(&$v) {
$map = array(
'true' => true,
'false' => false
// more as needed
);
if ( isset($map[$v]) ) {
$v = $map[$v];
}
});
// back to json
$output = json_encode($yourArray);