http_build_query()函数的作用是使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。
很多项目中的数据对接都是json数据格式进行传递的,如何将一组JSON数据转化为网址参数,进行请求,如:
- 请求参数的传递
$loginParams = '{"phone":"13099439943","currentTimeMillis":"1494466036877","cust_id":"Co1z7hV167Faqkk5WIohVdhaHj+mORib","isNewUser":"0"}';
- 转化json为数组:
$newarr = json_decode($loginParams, true);
- http_build_query()函数生成字符串
$newurl = http_build_query($newarr);
- 组合字符串,传递参数
echo "https://icbc.hhmidea.com/?" . htmlspecialchars($newurl);
- 完整代码:
$loginParams = '{"phone":"13099439943","currentTimeMillis":"1494466036877","cust_id":"Co1z7hV167Faqkk5WIohVdhaHj+mORib","isNewUser":"0"}';//AES加密登录参数;
$newarr = json_decode($loginParams, true);
echo "";
$newurl = http_build_query($newarr);
echo "https://icbc.hhmidea.com/?" . htmlspecialchars($newurl);
htmlspecialchars()可以避免出现HTML显示的乱码。
- 回传参数的处理
parse_str($newurl, $arr);
$newjson = json_encode($arr);
echo $newjson;