С помощью этой функции вы можете вызвать set('b', 2)
или установить несколько значений одновременно с помощью set(array('a' => 1, 'b' => 2, 'c' => 3))
.
function set($name, $value='', $vars='') {
if (!$vars) $vars = $_SERVER['QUERY_STRING'];
parse_str($vars, $a);
if (!is_array($name)) $name = array($name => $value);
foreach ($name as $k => $v) {
$a[$k] = $v;
if ($v === '') unset($a[$k]);
}
$q = '';
foreach ($a as $k => $v) $q .= ($q ? '&' : '') . $k . '=' . $v;
return $q ? '?' . $q : '';
}