时间:2021-07-01 10:21:17 帮助过:3人阅读
这篇博客的需求是我需要将一个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"] : 查询的字符串
$base = "test.com"; $str = $_SERVER["QUERY_STRING"]; $uri = $base.$str; echo $uri;

大部分人遇到这种需求第一反应都应该是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是傻瓜用的语言,不过确实方便!