Home  >  Q&A  >  body text

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);

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

PHP中文网PHP中文网2748 days ago688

reply all(1)I'll reply

  • 黄舟

    黄舟2017-04-10 14:24:47

    请使用parse_str函数

    parse_str($_SERVER['QUERY_STRING'], $get);
    print_r($get);

    reply
    0
  • Cancelreply