我想獲得的參數中的一個關鍵,例如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