如何检查URL中是否已有参数?

时间:2010-10-06 11:31:55

标签: php append

使用PHP我需要检查我附加信息的URL是否已经有参数。

所以如果网址是

http://test.com/url?a=1

我需要加上& b = 2,即

http://test.com/url?a=1&b=2

但是,如果网址是

http://test.com/url

我需要追加

http://test.com/url?b=2

可以在PHP中检查这个吗?总之,我需要使用正确的分隔符附加b = 2参数(如果现有链接中没有,则为“?”,如果现有链接中已存在“?”,则为“&”)。

3 个答案:

答案 0 :(得分:3)

不要检查,但要装配一个新的 使用$ _GET数组和http_build_query()函数

答案 1 :(得分:1)

您可以使用parse_url()。 然后使用parse_str()获取查询片段,修改数组并使用http_build_query()重新创建查询字符串。

答案 2 :(得分:0)

使用此功能,您可以拨打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 : '';
}