可能重复:
更改查询字符串中的单个变量值
例如:www.example.com/feeds?arg1=xyz&arg2=abc$arg3=pqr
。我想用 123 替换 arg2 值以获得www.example.com/feeds?arg1=xyz&arg2=123$arg3=pqr
. 请提出一种最简单的方法来实现这一目标。
可能重复:
更改查询字符串中的单个变量值
例如:www.example.com/feeds?arg1=xyz&arg2=abc$arg3=pqr
。我想用 123 替换 arg2 值以获得www.example.com/feeds?arg1=xyz&arg2=123$arg3=pqr
. 请提出一种最简单的方法来实现这一目标。
过程很简单。
请参阅此代码。
$str = "www.example.com/feeds?arg1=xyz&arg2=abc$arg3=pqr";
$p = strpos($str, "?");
if($p!==false){
$q = substr($str, $p+1);
parse_str($q, $u);
$u['arg2']='new value';
$q=http_build_query($u);
$str = substr($str, 0, $p). "?". $q;
}
$url = "?";
foreach ($_GET as $key => $value) {
if ($key != 'arg2') {
$url .= "$key=$value&";
}
}
$url .= "arg2=123"; // has arg=123 at the very end
一旦你有了这个,你所要做的就是:
header("Location: $url");
由于您在 之前没有提供任何东西?
,它只会更改$_GET
参数,这就是您所需要的。