PHP中获取URL参数的方法有哪些

PHP中获取URL参数的方法有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>第一种,利用$ _SERVER内置数组变量

相对较为原始的$ _SERVER [& # 39; QUERY_STRING& # 39;]来获取,URL的参数,通常使用这个变量返回的会是类似这样的数据:name=tank&性=1
如果需要包含文件名的话可以使用$ _SERVER [“REQUEST_URI"](返回类似:/index . PHP ?名字=tank&性=1)

<强>第二种,利用pathinfo内置函数

代码如下:


& lt; ?php
$测试=pathinfo (“http://localhost/index.php");
print_r(测试)美元;
/*
结果如下数组

(
,,,,(目录名)=比;//http://localhost url的路径
,,,,[:]=比;index.php //完整文件名
,,,,(扩展)=比;php //文件名后缀
,,,,(文件名)=比;指数//文件名
)
*/
?在

<强>第三种,利用parse_url内置函数

代码如下:


& lt; ?php
$测试=parse_url (“http://localhost/index.php?name=tank&性=1 # top");
print_r(测试)美元;
/*
结果如下数组

(
,,,,[计划]=比;http//使用什么协议
,,,,(主机)=比;localhost//主机名
,,,,(路径)=比;/索引。php//路径
,,,,[查询]=比;name=tank&性=1//所传的参数
,,,,(片段)=比;前//后面根的锚点
)
*/
?在

<强>第四种,利用basename内置函数

代码如下:


& lt; ?php
$测试=:“http://localhost/index.php?name=tank&性=1 # top");
echo $测试;
/*
结果如下
index . php ?名字=tank&性=1 #前
*/
?在

另外,还有就是自己通过正则匹配的处理方式来获取需要的值了。这种方式较为精确,效率暂不考虑…
下面拓展实践下正则处理方式:

代码如下:


& lt; ? php
preg_match_all (“/(\ w +=\ w +) (# \ w +) ?/我,“http://localhost/index.php?name=tank&性=1 # top", $匹配),
print_r($匹配);
/*
结果如下数组

(
,,,[0]=比;数组
,,,,,,,(
,,,,,,,,,,,[0]=比;name=坦克
,,,,,,,,,,,[1]=比;性别=1 #前
,,,,,,,)
,,,[1]=比;数组
,,,,,,,,(
,,,,,,,,,,,[0]=比;name=坦克
,,,,,,,,,,,,[1]=比;性别=1
,,,,,,,,)
,,,,[2]=比;数组
,,,,,,,(
,,,,,,,,,,,,[0]=祝辞
,,,,,,,,,,,[1]=比;#前
,,,,,,,)

*/
?在

PHP中获取URL参数的方法有哪些