PHP中,把$_SERVER['QUERY_STRING']转换为$_GET数组

$_SERVER['QUERY_STRING']的字符串类似:

a=1&b=2&c=3&vardate=2012-11-12

希望能转换成$_GET数组,内容类似于:

$_GET['a']=1;
$_GET['b']=2;
$_GET['c']=3;
$_GET['vardate']='2012-11-12';

我的思路是把原始字符串根据&切分后,再根据=切分。

list(,$tmp) = explode("?", $_SERVER['QUERY_STRING']);
$a = explode("&",$tmp);
foreach($a as $v) {
    $b = explode("=", $v);
	$_GET[$b[0]] = $b[1];			
}
var_dump($_GET);

不考虑数值类型。
求一个比较优雅的代码。

阅读 17.4k
1 个回答

请使用parse_str函数

parse_str($_SERVER['QUERY_STRING'], $get);
print_r($get);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题