答案 0 :(得分:2)
在PHP $ _GET中将保留以下内容(var_dump($_GET)的结果)
array(2) { ["p"]=> string(14) "1?source=yahoo" ["key"]=> string(2) "56" }
如果您想使用问号(或其他保留的字符),请使用urlencode
答案 1 :(得分:0)
没有。我认为这不是一个有效的查询字符串。
答案 2 :(得分:0)
自己测试:
print_r($_GET);
我测试了一下:
数组([p] => 1?source = yahoo [key] => 56)
如果您可以控制附加到网址的字符串,请使用urlencode。
答案 3 :(得分:0)
p
将会消失,你应该这样做
$url = 'http://abc.com/123.php?'.urlencode('p=1?source=yahoo&key=56');
答案 4 :(得分:0)
来自RFC 1738 - Uniform Resource Locators (URL):
只有字母数字,特殊字符
$-_.+!*'(),
和用于保留目的的保留字符可以在URL中以未编码的方式使用。
字符?
是保留字符。由于您提供的URL不是为了保留目的而使用它(将“路径”与“searchpart”分开),因此URL是非法的,您不应该依赖任何特定的行为。
对?
字符进行编码,如果您想要可预测的行为,请确保该网址合法。