PHP-获取$\u get parameters字符串的最简单方法,如URL中所写

PHP-获取$\u get parameters字符串的最简单方法,如URL中所写,php,Php,我试图从一个页面重定向到另一个页面,同时保留参数 e、 g.如果我有一个page.php?param1=1¶m2=2页面,提取“param1=1¶m2=2”的最简单方法是什么 $querystring = '?' foreach($_GET as $k=>$v) { $querystring .= $k.'='.$v.'&'; } $url .= substr($querystring, 0, -1); 其中,$url已经包含了之前的所有内容 您也可以使用

我试图从一个页面重定向到另一个页面,同时保留参数

e、 g.如果我有一个page.php?param1=1¶m2=2页面,提取“param1=1¶m2=2”的最简单方法是什么

$querystring = '?'
foreach($_GET as $k=>$v) {
    $querystring .= $k.'='.$v.'&';
}
$url .= substr($querystring, 0, -1);
其中,
$url
已经包含了之前的所有内容

您也可以使用
$\u服务器['QUERY\u STRING']
,但根据PHP手册:

$\服务器是一个数组,包含头、路径和脚本位置等信息。此数组中的条目由web服务器创建*不能保证每个web服务器都会提供这些服务;服务器可能会忽略一些,或者提供此处未列出的其他服务器*


$\u服务器['QUERY\u STRING']


使用
$\u服务器['QUERY\u STRING']
访问问号后面的所有内容

因此,如果您有url:

http://www.sample.com/page.php?param1=1&param2=2
那么这个,

$url = "http://www.sample.com/page2.php?".$_SERVER['QUERY_STRING'];
echo $url;
将返回:

http://www.sample.com/page2.php?param1=1&param2=2

除了Robs回答:

您可以使用和$\u-GET。
这是内置的,可以处理阵列。
此外,在重新组合GET参数之前,您可以通过这种方式轻松地操作它们

unset($_GET['unsetthis']);
$query = http_build_query($_GET);

这在技术上是正确的,但无论他使用什么web服务器,几乎都肯定会提供
$\u服务器['QUERY\u STRING']
;大多数基于PHP的系统都依赖于它,这也不会呈现如下数组:
key[innerkey]=value
。它将为您提供:
key=Array