php获取GET方式传入的全部变量名称与值
这篇博客的需求是我需要将一个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是傻瓜用的语言,不过确实方便!