假设当前的查询字符串如下
$_SERVER['QUERY_STRING']:
apple=green&banana=yellow2&navi=blue&clouds=white&car=black
我需要一个可以从查询字符串中添加和删除几个参数的函数。例如:
echo ChangeQueryString('eyes=2&fingers=10&car=purple', 'clouds&apple');
应该给
banana=yellow2&navi=blue&car=purple&eyes=2&fingers=10
因此,该函数不仅应该能够添加新参数(eyes=2&finger=10),而且还应该更改已经存在的参数(car=black => car=purple)。
所有这些新的和更改的参数都可以在函数的第一个参数中传递。以“&”分隔。
函数的第二个参数应该传递应该从查询字符串中删除的参数的所有键(如果存在)。
我只管理了可以添加和替换参数的第一部分。但也许有人有更有效的方法,包括从查询字符串中删除内容的第二个参数。
实际上最后我需要完整的当前 URL。这就是我添加 PHP_SELF 的原因。虽然删除部分还没有出现......
function ChangeQueryString ($add, $remove) {
if (empty($_SERVER['QUERY_STRING'])){
$final_url = $_SERVER['PHP_SELF']."?".$add;
} else {
$query_string_url_addition = $_SERVER['QUERY_STRING'].'&'.$add;
parse_str($query_string_url_addition, $query_array);
$final_url = $_SERVER['PHP_SELF']."?".http_build_query($query_array);
}
return $final_url;
}
哈士奇WWW
慕妹3146593
烙印99