使用(取消设置)多个参数

时间:2015-03-09 23:59:12

标签: php unset

我在这里使用答案https://stackoverflow.com/a/27689796/3842368从网址中删除了几个参数。我认为它有效,直到今天我发现如果我定义了多个参数,unset()无效。

我的PHP代码是:

$url = $_SERVER["REQUEST_URI"];
$x = $url;
$parsed = parse_url($x);
$query = $parsed['query'];
parse_str($query, $params);
unset($params['qdef, qval1']);
$string = http_build_query($params);

$ params使用print_r生成以下数组:

  

数组([use_url] => on [zipcode] => Axminster,Devon EX13 5RZ [categories] =>数组([0] => 2)[radius] => 0 [checkboxnational] = > 1 [提交] =>加载结果... [yesq] => y [qdef] => 2 [qval1] => 100.00 [qval2] => 525.00 [调料] => 1 [ slider-value1] => 0 [slider-value2] => 70 [resultbar] => 25 [sortbar] =>距离[lat] => 50.77643440000001 [lng] => -2.9810417 [swlat] = > 50.7773526197085 [swlng] => -2.9814507999999478 [nelat] => 50.7800505802915 [nelng] => -2.9749947000000247 [outcode] => EX13)1

所以我遇到的问题是,如果我写unset($params['qdef']);,则会从网址中删除qdef,但如果我写unset($params['qdef, qval1']);,则不会删除任何内容。我尝试用逗号分隔它们,将每个参数括在'[]'中,没有任何效果。我已经尝试了很多方法在unset()命令中定义参数,但没有任何作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

$params['qdef']$params['qval1']是数组中的单独元素

使用

unset($params['qdef'], $params['qval1']);

单独取消设置

unset($params['qdef, qval1']); 

尝试使用'qdef, qval1'

键从$ params取消设置单个元素