问题
I am given a page url like 'http://abc.com/test.php?a=1&b=2&c=3'
. Now I have been told to change the value of b to 5 so that it becomes 'http://abc.com/test.php?a=1&b=5&c=3'
.
i.e change from http://abc.com/test.php?a=1&b=2&c=3
to http://abc.com/test.php?a=1&b=5&c=3
Note: variable b here can refer to any name.
回答1:
Use
parse_url() to extract the query string from the URL
parse_str() to split the query string into an array
array_merge() to add a new array
"b" => 5
http_build_query() to re-build a query string
The remaining parts from the first step (protocol, host, path...) to re-build the full URL or - if you have the
HTTP
pecl extension - a http_build_url() with HTTP_URL_JOIN_QUERY will alleviate much of the work.
来源:https://stackoverflow.com/questions/4037909/change-single-variable-value-in-querystring