// 递归处理数据
function arr_map($vo)
{
if (is_array($vo)) {
$vo = array_map("arr_map", $vo);
} else {
$vo = trim($vo);
$vo = is_numeric($vo) ? floatval($vo) : $vo;
}
return $vo;
}
/**
* JSON字符串转为array数组
* @param string $json json字符串对应的key值
* @return array 还原之后的json数组
*/
function json2arr($json)
{
// 使用trim去除两端空格
$json = trim($json);
// 将特殊的 HTML 实体转换回普通字符
$json = htmlspecialchars_decode($json);
// // 一般不需要,小程序json可能需要用这个方法处理
// $json = stripslashes($json);
// 对 JSON 格式的字符串进行解码
$json_arr = json_decode($json, true);
// 一般不需要,将删除数组中 array 的所有“空”(参考empty函数)元素
$json_arr = array_filter($json_arr);
if (!empty($json_arr)) {
// 还原json字符串中包含的[](数组)
// 生成 urlencode 之后的请求字符串
$query = http_build_query($json_arr);
// 将字符串解析成一个数组,并存入传递的第二个变量,在这里是json_arr
parse_str($query, $_arr);
} else {
$_arr = $json_arr;
}
$_arr = is_array($_arr) ? $_arr : [];
$_arr = array_map("arr_map", $_arr);
return $_arr;
}
07-18
243

12-21
3363
