什么是“更少的代码所需”的方式,以获得参数从一个URL查询字符串的格式如下?
www.mysite.com/category/subcategory ? myqueryhash
输出应该是:myqueryhash
我知道这种做法:
www.mysite.com/category/subcategory?q=myquery
<?php
echo $_GET['q']; //Output: myquery
?>
什么是“更少的代码所需”的方式,以获得参数从一个URL查询字符串的格式如下?
www.mysite.com/category/subcategory ? myqueryhash
输出应该是:myqueryhash
我知道这种做法:
www.mysite.com/category/subcategory?q=myquery
<?php
echo $_GET['q']; //Output: myquery
?>
当前回答
我将推荐最佳答案为:
<?php
echo 'Hello ' . htmlspecialchars($_GET["name"]) . '!';
?>
假设用户输入http://example.com/?name=Hannes
上面的例子将输出:
你好汉内斯!
其他回答
$_SERVER['QUERY_STRING']包含您正在查找的数据。
文档
php.net: $_SERVER -手动
编程语言: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
echo 'Hello ' . htmlspecialchars($_GET["name"]) . '!';
?>
假设用户输入http://example.com/?name=Hannes
上面的例子将输出:
你好汉内斯!
要获取URI中的每个节点,可以使用函数explosion () For $_SERVER['REQUEST_URI']。如果你想在不知道它们是否被传递的情况下获取字符串,你可以使用我自己定义的函数从$_REQUEST中获取查询参数(因为它对POST和get参数都有效)。
function getv($key, $default = '', $data_type = '')
{
$param = (isset($_REQUEST[$key]) ? $_REQUEST[$key] : $default);
if (!is_array($param) && $data_type == 'int') {
$param = intval($param);
}
return $param;
}
在某些情况下,我们可能希望将查询参数转换为Integer类型,因此我在此函数中添加了第三个参数。