我想获得的参数中的一个关键,例如http://link.com/?parameterPHP:如何得到钥匙URL参数
我读的地方,关键是NULL
和值将是parameter
。我试过$_GET[NULL]
,但它似乎没有工作。
这里是我的代码:
它只是打印出..
这样就意味着我不这样做是正确的。有人能告诉我正确的方法吗?
我想获得的参数中的一个关键,例如http://link.com/?parameterPHP:如何得到钥匙URL参数
我读的地方,关键是NULL
和值将是parameter
。我试过$_GET[NULL]
,但它似乎没有工作。
这里是我的代码:
它只是打印出..
这样就意味着我不这样做是正确的。有人能告诉我正确的方法吗?
在PHP中没有无关键URL参数。 ?parameter
等于$_GET['parameter']
被设置为空字符串。
试着做var_dump($_GET)
与像http://link.com/?parameter网址,看看你得到什么。
它应该是这个样子:
array (size=1) 'parameter' => string '' (length=0)
因此,你可以在一对夫妇的方式测试它取决于你的应用需求:
if (isset($_GET['parameter'])) {
// do something
} else {
// do something else
}
或
// Only recommended if you're 100% sure that 'parameter' will always be in the URL.
// Otherwise this will throw an undefined index error. isset() is a more reliable test.
if ($_GET['parameter'] === '') {
// do something
} else {
// do something else
}
$_GET
是超级全局assoc
数组,其中包含parameter
=>it's value
对。所以,parameter
是数组的关键。
例如,如果您的网址是这样的:myweb.com/?page=load&do=magic
比你$_GET
是:
$_GET(
[page] => load
[do] => magic
)
如果你想只是为了测试,如果parameter
是在你的网址为PARAM,你应该这样做这个:
if (isset($_GET['parameter'])
echo "Here I am!";
你也可以像这样得到整个request_url
echo $_SERVER['REQUEST_URI'];
要?
后得到部分:
echo explode('?', $_SERVER['REQUEST_URI'])[1];
很糟糕的解决方案。如果他想要添加另一个参数来请求呢? – ovnia
@wingsofovnia,只是提供了一个不同的方式来做到这一点。在某些情况下可能会派上用场:) – Fabricator
你可以通过array_keys()
:
$param = array_keys($_GET)[0];
这将使你的第一个查询参数的名称,它是否有一个值或不。
你也可以得到所有的参数没有值,像这样:
$empty = [];
foreach($_GET as $key => $value)
if(strlen($value) === 0) $empty[] = $key;
print_r($empty);
您可以
$_SERVER['QUERY_STRING']
试着像得到与
?
开头的URL的一部分'如果($ _ GET ['parameter'] == NULL)' – Bora$ _GET superglobal是一个数组。当你做一些类似mypage.php?参数的事情时,你正在为它添加一个键而不分配一个值。你将有$ _GET = array(“parameter”=>“”)。那就是PHP 101 – thedethfox
讨论之前回答我可以用空键创建一个数组...... – itzmukeshy7