对多个参数使用(未设置)

using (unset) for multiple parameters

我在这里使用答案 从 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] => loading results... [yesq] => y [qdef] => 2 [qval1] => 100.00 [qval2] => 525.00 [seasoning] => 1 [slider-value1] => 0 [slider-value2] => 70 [resultbar] => 25 [sortbar] => distance [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 会从 url 中删除,但是如果我写 unset($params['qdef, qval1']);,那么什么都不会删除。我试过用逗号分隔它们,将每个参数括在“[]”中,但没有任何效果。我已经尝试了很多在 unset() 命令中定义参数的方法,但没有任何效果。

有什么想法吗?

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

使用

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

单独取消设置

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

正在尝试使用 'qdef, qval1'

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