在 php 中的页面之间传递数据有 , 等方式$_GET
。$_POST
但是$_REQUEST
如果我们要在 php 中发送没有任何变量的数据,我似乎已经忘记了一种方式。
例如,让示例 url 为:www.mysite.com?123
是否可以从相应的 php 页面中捕获值 123 ?
这里有什么用$_SERVER
吗?
在 php 中的页面之间传递数据有 , 等方式$_GET
。$_POST
但是$_REQUEST
如果我们要在 php 中发送没有任何变量的数据,我似乎已经忘记了一种方式。
例如,让示例 url 为:www.mysite.com?123
是否可以从相应的 php 页面中捕获值 123 ?
这里有什么用$_SERVER
吗?
You can get it using:
$_SERVER["QUERY_STRING"]
This url: www.mysite.com?123
will provide 123
into $_SERVER["QUERY_STRING"]
.
But be careful, if your url is likewww.mysite.com?123&re=789
, $_SERVER["QUERY_STRING"]
will be 123&re=789
. It catch every thingg after the ?
.
尝试:
$_SERVER["QUERY_STRING"]
我相信浏览器默认使用 HTTP GET,因此变量可以通过$_GET
.
如果您想获得“123”,那么key($_GET)
就足够了。但是,如果有更多参数,请考虑遍历$_GET
数组的键。
echo 'First $_GET variable: ' . key($_GET);
echo "All the $_GET variables:";
print_r( array_keys($_GET) );
简单的一个,不要忘记 $_GET 是一个数组....
所以一个像这样的网址
www.mysite.com?123
$getArrayKeys = array_keys($_GET);
$firstValue = $getArrayKeys[0]; //work with the first param.
var_dump($getArrayKeys); //display all
输出
数组(1){[0]=>字符串(6)“123”}
但是,您在这里将自己限制为单个参数...当您需要传递第二个参数并且它们的顺序不同时会发生什么?