【发布时间】:2015-03-09 23:59:11
【问题描述】:
我在这里使用https://stackoverflow.com/a/27689796/3842368 的答案从 url 中去除几个参数。我以为它可以工作,直到今天我发现如果我定义了多个参数, 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 生成以下数组:
Array ( [use_url] => on [zipcode] => Axminster, Devon EX13 5RZ [categories] => Array ( [0] => 2 ) [radius] => 0 [checkboxnational] => 1 [submit] => 加载结果... [yesq] => y [qdef] => 2 [qval1] => 100.00 [qval2] => 525.00 [seasoning] => 1 [slider-value1] => 0 [slider-value2] => 70 [resultbar] => 25 [sortbar] => 距离 [lat] => 50.77643440000001 [lng] => -2.9810417 [swlat] => 50.7773526197085 [swlng] => -2.9814507999999478 [nelat] => 50.780050[ => -2.9749947000000247 [outcode] => EX13 ) 1
所以我遇到的问题是,如果我写unset($params['qdef']);,那么 qdef 会从 url 中删除,但如果我写 unset($params['qdef, qval1']);,则不会删除任何内容。我试过用逗号分隔它们,将每个参数括在“[]”中,没有任何效果。我尝试了很多方法来定义 unset() 命令中的参数,但没有任何效果。
有什么想法吗?
【问题讨论】:
-
unset($params['qdef'], $params['qval1']); -
unset($params['qdef'], $params['qval1']);? -
@MarkBaker - 你比我快一点 =)
-
@luke_mclachlan - 记得阅读文档。
-
公众的白痴是大自然教我们不要再犯同样的错误的方式;)