简单的方法是:
$params = array_merge($_GET, array("test" => "testvalue"));
$new_query_string = http_build_query($params);
这并不能保证测试结束。如果有一些奇怪的原因你需要,你可以做:
$params = $_GET;
unset($params["test"]);
$params["test"] = "testvalue";
$new_query_string = http_build_query($params);
但是请注意,PHP查询字符串参数解析可能与其他应用程序有一些互操作性问题。特别是,除非具有类似数组的名称,否则PHP不接受任何参数的多个值。
然后你可以转到
(empty($_SERVER['HTTPS'])?"http://":"https://") .
(empty($_SERVER['HTTP_HOST'])?$defaultHost:$_SERVER['HTTP_HOST']) .
$_SERVER['REQUEST_URI'] . "?" . $new_query_string