在PHP的POST请求中,有时候需要将收到的POST[数组](https://so.csdn.net/so/search?q=%E6%95%B0%E7%BB%84&spm=1001.2101.3001.7020)转成GET可以用的&连接的格式。有时候又需要将GET的&连接的格式转换成数组,可以参考如下代码:
//parse_str与http_build_query的使用
//使用parse_str将url[字符串](https://so.csdn.net/so/search?q=%E5%AD%97%E7%AC%A6%E4%B8%B2&spm=1001.2101.3001.7020)转变为key=>value的数组
$str = "tn=monline_dg&ie=utf-8&bs=httpbuildurl&f=3&rsv_bp=1&wd=php+buildquery&rsv_sug3=17&rsv_sug4=330&rsv_sug1=16&oq=php+build&rsv_sug2=0&rsp=0&inputT=8922";
parse_str($str,$arr);
var_export($arr);
/*
输出:
array (
'tn' => 'monline_dg',
'ie' => 'utf-8',
'bs' => 'httpbuildurl',
'f' => '3',
'rsv_bp' => '1',
'wd' => 'php buildquery',
'rsv_sug3' => '17',
'rsv_sug4' => '330',
'rsv_sug1' => '16',
'oq' => 'php build',
'rsv_sug2' => '0',
'rsp' => '0',
'inputT' => '8922',
)
*/
//使用http_build_query将key=>value的数组转变为url字符串
$url = http_build_query($arr);
echo($url);
//输出:tn=monline_dg&ie=utf-8&bs=httpbuildurl&f=3&rsv_bp=1&wd=php+buildquery&rsv_sug3=17&rsv_sug4=330&rsv_sug1=16&oq=php+build&rsv_sug2=0&rsp=0&inputT=8922
网友评论