PHP - 如何获取没有值的 $_GET 参数
PHP - How to get $_GET Parameter without value
我需要知道如何从请求的 url 中获取 $_GET 参数。例如,如果我使用
$url = $_SERVER['REQUEST_URI'];
$parse_url = parse_url($url, PHP_URL_QUERY);
echo $parse_url;
将输出 query=1,但我只需要参数而不是参数 AND 值来检查参数是否在数组中。
类似于:
// Example URL: http://somewhere.org?id=42&name=bob
// An array to store the parameters
$params = array();
parse_str($_SERVER['QUERY_STRING'], $params);
// Access what you need like this:
echo 'ID: ' .$params['id'];
根据您的示例,简单地分解 =
可能很快就能满足您的需要。
$url = $_SERVER['REQUEST_URI'];
$parse_url = parse_url($url, PHP_URL_QUERY);
$queryparam = explode("=", $parse_url);
echo $queryparam[0];
/* OUTPUT query */
if (in_array($queryparam[0], $array_of_params)){ ... }
但是你可以像这样简单地实现同样的事情:
if (@$_GET["query"] != ""){ ... }
您也可以使用 basename()
,它 Returns 路径的尾随名称部分 。例如:
$lastPart=explode("=",basename('http://yourdomain.com/path/query=1'));
echo $lastPart[0];
输出
query
Arry $_GET 包含所有需要的信息。 $ _SERVER ['REQUEST_URI'] 和 parse_url 不需要。
例如,我有以下浏览器行:
http://localhost/php/test.php?par&query=1
让我们看看$_GET包含什么
echo '<pre>';
var_export($_GET);
输出
array (
'par' => '',
'query' => '1',
)
用 array_keys() 我得到所有的钥匙。
$keys = array_keys($_GET);
var_export($keys);
输出:
array (
0 => 'par',
1 => 'query',
)
我得到的第一把钥匙(另见@bobble bubble 的评论)
echo $keys[0]; //par
或
echo key($_GET);
有了array_key_exists()我可以检查一个key是否可用
if(array_key_exists('query',$_GET)){
echo 'query exists';
}
我需要知道如何从请求的 url 中获取 $_GET 参数。例如,如果我使用
$url = $_SERVER['REQUEST_URI'];
$parse_url = parse_url($url, PHP_URL_QUERY);
echo $parse_url;
将输出 query=1,但我只需要参数而不是参数 AND 值来检查参数是否在数组中。
类似于:
// Example URL: http://somewhere.org?id=42&name=bob
// An array to store the parameters
$params = array();
parse_str($_SERVER['QUERY_STRING'], $params);
// Access what you need like this:
echo 'ID: ' .$params['id'];
根据您的示例,简单地分解 =
可能很快就能满足您的需要。
$url = $_SERVER['REQUEST_URI'];
$parse_url = parse_url($url, PHP_URL_QUERY);
$queryparam = explode("=", $parse_url);
echo $queryparam[0];
/* OUTPUT query */
if (in_array($queryparam[0], $array_of_params)){ ... }
但是你可以像这样简单地实现同样的事情:
if (@$_GET["query"] != ""){ ... }
您也可以使用 basename()
,它 Returns 路径的尾随名称部分 。例如:
$lastPart=explode("=",basename('http://yourdomain.com/path/query=1'));
echo $lastPart[0];
输出
query
Arry $_GET 包含所有需要的信息。 $ _SERVER ['REQUEST_URI'] 和 parse_url 不需要。 例如,我有以下浏览器行:
http://localhost/php/test.php?par&query=1
让我们看看$_GET包含什么
echo '<pre>';
var_export($_GET);
输出
array (
'par' => '',
'query' => '1',
)
用 array_keys() 我得到所有的钥匙。
$keys = array_keys($_GET);
var_export($keys);
输出:
array (
0 => 'par',
1 => 'query',
)
我得到的第一把钥匙(另见@bobble bubble 的评论)
echo $keys[0]; //par
或
echo key($_GET);
有了array_key_exists()我可以检查一个key是否可用
if(array_key_exists('query',$_GET)){
echo 'query exists';
}