前言
这篇博客的需求是我需要将一个http请求例如127.0.0.1?a=123&b=456&c=789将所有的get参数取出来拼串到test.com后面,也就是最后理想的uri应该是test.com?a=123&b=456&c=789
两种方法可以实现,建议做之前先google,我就是没有google导致返工
$_SERVER["QUERY_STRING"]
简介
这是最简单的方法,可是大部分人可能不会太熟悉这个服务器变量,解释一下
$_SERVER["QUERY_STRING"] : 查询的字符串
代码
$base = "test.com";
$str = $_SERVER["QUERY_STRING"];
$uri = $base.$str;
echo $uri;
效果
$_GET数组for循环拼串
思路
大部分人遇到这种需求第一反应都应该是for循环GET数组,自己拼串吧,写个实现代码共享一下
代码
$str = "test.com?";
$count = count($_GET);
$i = 0;
foreach ($_GET as $key => $value) {
if ($i == $count - 1) {
$str .= $key . "=" . $value;
} else {
$str .= $key . "=" . $value . "&";
}
$i ++;
}
echo $str;
效果
比较
虽然效果相同,但是get参数多时,for循环的效率肯定低,所以用php写代码的时候尽量少自己造轮子,所以我更喜欢c,因此可以多动脑子,唉,php是傻瓜用的语言,不过确实方便!