开发者

PHP function to remove key from a query string

I have a query string, like:

n1=v1&n2=v2&n3=v3

etc

I just want a php function that will accept the query string and the name (key), and remove the name value pair from the querystring开发者_开发知识库.

Every example I have found uses regexes and assumes that the value will exist and that it will not be empty, but in my case (and possibly in general, I would like to know) this would also be a valid query:

n1=v1&n2=&n3

I don’t know in advance how many keys there will be.

I am convinced that regexes are monsters that eat time. Eventually all matter in the universe will end up in a regex.


parse_str('n1=v1&n2=&n3', $gets);
unset($gets['n3']);
echo http_build_query($gets);

NOTE: unset($gets['n3']); is just a show-case example


function stripkey($input, $key) {

$parts= explode("&", $input); foreach($parts as $k=>$part) { if(strpos($part, "=") !== false) { $parts2= explode("=", $part); if($key == $parts2[0]){ unset($parts[$k]); } } } return join("&", $parts);

}

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜