【问题标题】:Get $_GET[] parameters part from URL从 URL 获取 $_GET[] 参数部分
【发布时间】:2026-01-15 08:05:02
【问题描述】:

我有这种类型的网址:

http://mysite.com/results.php?location=montreal&car-rental=no&add-hotel=no&moods%5B%5D=Adventure&moods%5B%5D=Arts&moods%5B%5D=Culture&moods%5B%5D=Well-being&moods%5B%5D=Zen&weather-dependent=yes

在 PHP 中,仅获取 $_GET[] 部分的最佳方法是什么?

例如:

$get = location=montreal&car-rental=no&add-hotel=no&moods%5B%5D=Adventure&moods%5B%5D=Arts&moods%5B%5D=Culture&moods%5B%5D=Well-being&moods%5B%5D=Zen&weather-dependent=yes

谢谢。

【问题讨论】:

标签: php url get


【解决方案1】:

您是否在搜索类似的内容:

$_SERVER['QUERY_STRING']

【讨论】:

    【解决方案2】:

    我想你正在寻找这个:

    $str = 'http://mysite.com/results.php?location=montreal&car-rental=no&add-hotel=no&moods%5B%5D=Adventure&moods%5B%5D=Arts&moods%5B%5D=Culture&moods%5B%5D=Well-being&moods%5B%5D=Zen&weather-dependent=yes';
    
    $query = parse_url($str, PHP_URL_QUERY);
    parse_str($query, $arr);
    print_r($arr);
    
    /*
    Array
    (
        [location] => montreal
        [car-rental] => no
        [add-hotel] => no
        [moods] => Array
            (
                [0] => Adventure
                [1] => Arts
                [2] => Culture
                [3] => Well-being
                [4] => Zen
            )
    
        [weather-dependent] => yes
    )
    */
    

    Codepad.

    解释:parse_url($str, PHP_URL_QUERY) 从该 url 中提取查询字符串,然后 parse_str($query, $arr) 解析它,用 key 填充 $arr 变量 => value 对。

    【讨论】: