我试图获得以下url的参数c
和t
:
http://www.sitename.com/index.php?c=hJjB0wf/f4o%26t=4m52Jkm81j8
执行$_GET['c']
和$_GET['t']
,但当我回显两个变量时,会发生如下情况:
c=hJjB0wf/f4o%26t=4m52Jkm81j8
t is undefined
有什么问题吗?
这是因为在你的url不是t
参数。在url%26t
中是&t
的urlencodedhttp://www.sitename.com/index.php?c=hJjB0wf/f4o
% 26t=4m52Jkm81j8
.
你所能做的就是像
$url = "http://www.sitename.com/index.php?c=hJjB0wf/f4o%26t=4m52Jkm81j8";
$fixed = urldecode($url); // fix %26 -> &
$urlParts = parse_url($fixed);
$params = [];
parse_str($urlParts['query'], $params);
print_R($params);
Array
(
[c] => hJjB0wf/f4o
[t] => 4m52Jkm81j8
)
由于URL不正确,您无法获得该值。之前应该有一个&
像这样,你将得到t的值。
http://www.sitename.com/index.php?c=hJjB0wf/f4o&t=4m52Jkm81j8