PHPurl地址获取GET参数数组
工作中我们可能 遇到这种情况,我们获取到一个url地址,想把它的get参数解析成GET一样的数组对象来使用。
第一步获取url中的get参数(一般第一个?问号开始),这里我们可以使用php提供的 parse_url函数来获取
$url = $_SERVER['REQUEST_URI'];//动态获取
$url = 'http://192.168.1.110/mb/demo/yc?to=1&cc=222#top=1';//固定地址
$ex = parse_url($url);
var_dump($ex);
可以看到结果:
array(5) {
["scheme"]=>
string(4) "http"
["host"]=>
string(13) "192.168.1.110"
["path"]=>
string(11) "/mb/demo/yc"
["query"]=>
string(11) "to=1&cc=222"
["fragment"]=>
string(5) "top=1"
}
那么,可以看到query参数就是我们想要的get参数了,接下来我们可以根据&与=分隔字符串得到我们的get数组对象
你也可以封装个函数,如:
function convertUrlQuery($query)
{
$queryParts = explode('&', $query);
$params = array();
foreach ($queryParts as $param) {
$item = explode('=', $param);
$params[$item[0]] = $item[1];
}
return $params;
}
最后我们来个完整的结合案例:
$url = 'http://192.168.1.110/mb/demo/yc?to=1&cc=222#top=1';
$ex = parse_url($url);
$_GET = convertUrlQuery($ex['query']);
var_dump($_GET);
得到结果:
array(2) {
["to"]=>
string(1) "1"
["cc"]=>
string(3) "222"
}
是不是很简单,如果对你有帮助,就拿去封装使用吧,(#^.^#)