$get_url = "http://google.com/?var=234&key=234";
$my_url = "http://localhost/test.php?id=" . urlencode($get_url);
$ my_url输出:
http://localhost/test.php?id=http%3A%2F%2Fgoogle.com%2F%3Fvar%3D234%26key%3D234
所以现在你可以使用得到这个值$_GET['id']
或$_REQUEST['id']
(解码)。
echo urldecode($_GET["id"]);
输出
http://google.com/?var=234&key=234
让每一个GET参数:
foreach ($_GET as $key=>$value) {
echo "$key = " . urldecode($value) . "<br />\n";
}
$key
是GET键,$value
是$key
获得价值。
或者您可以使用另一种解决方案来获得GET数组PARAMS
$get_parameters = array();
if (isset($_SERVER['QUERY_STRING'])) {
$pairs = explode('&', $_SERVER['QUERY_STRING']);
foreach($pairs as $pair) {
$part = explode('=', $pair);
$get_parameters[$part[0]] = sizeof($part)>1 ? urldecode($part[1]) : "";
}
}
$get_parameters
是相同的URL解码$_GET
。
尝试获取'$ _REQUEST ['key']'或将URL更改为'http://localhost/test.php?id=http://google.com/?var = 234 & key = 234' – Teneff 2011-04-13 06:50:13
@teneff如何获得所有$ _GET而不指定'id'? – kedomonzter 2011-04-13 07:28:22
只需使用'$ _GET' :)就像'print_r($ _ GET);' – Teneff 2011-04-13 08:16:50