什么是“更少的代码所需”的方式,以获得参数从一个URL查询字符串的格式如下?

www.mysite.com/category/subcategory ? myqueryhash

输出应该是:myqueryhash

我知道这种做法:

www.mysite.com/category/subcategory?q=myquery

<?php
   echo $_GET['q'];  //Output: myquery
?>

当前回答

如果你想要整个查询字符串:

$_SERVER["QUERY_STRING"]

其他回答

编程语言:PHP

// Inintialize a URL to the variable 
$url = 'https://www.youtube.com/watch?v=qnMxsGeDz90'; 
    
// Use parse_url() function to parse the URL 
// and return an associative array which contains its various components 
$url_components = parse_url($url); 

// Use the parse_str() function to parse the 
// string passed via the URL 
parse_str($url_components['query'], $params); 
    
// Display result 
echo 'v parameter value is ' . $params['v'];

这对我很管用。

$_SERVER['QUERY_STRING']包含您正在查找的数据。


文档

php.net: $_SERVER -手动

如果你想要整个查询字符串:

$_SERVER["QUERY_STRING"]

此外,如果您正在与查询字符串一起查找当前文件名,则只需要以下内容

basename($_SERVER['REQUEST_URI'])

它将为您提供如下示例的信息

file.php吗?__arg1 = val&arg2 =瓦尔

如果你还想要文件的完整路径,以及从根目录开始,例如/folder/folder2/file.php?Arg1 =val&arg2=val然后只是删除basename()函数,只是使用填充

$_SERVER['REQUEST_URI']

PHP的方法是使用parse_url函数,该函数解析URL并返回其组件。包括查询字符串。

例子:

$url = 'www.mysite.com/category/subcategory?myqueryhash';
echo parse_url($url, PHP_URL_QUERY); # output "myqueryhash"

完整的文档在这里