PHP去除URL重复GET参数 只保留一个

PHP去除URL重复GET参数 只保留一个,如果对你有帮助就看看吧。

正文:

我给大家写好了并且封装了一个函数,方便大家使用,直接传入url就可放回过滤后的url,例如传入:http://baidu.com/?aa=111&aaa=111&aaa=111&fff=5555&y=444,那么将会返回:http://baidu.com/?aaa=111&fff=5555&y=444,重复参数就被过滤掉了。

实例代码:

//代码原创作者:无陌然,转载请带上版权,网址可以不用带上,但是还请将原作者的名字带上,谢谢合作!


function qu($url){
$query = parse_url($url);
$var = array_values(array_unique(explode("&",$query['query'])));
$shu = count($var);
$qian = array();
for($i=0; $i<$shu; $i++){
$qian[] = substr($var[$i],0,strpos($var[$i], '='));
}
$hou = array();
for($i=0; $i<$shu; $i++){
$hou[] = trim(strrchr($var[$i], '='),'=');
}
for($i=0; $i<$shu; $i++){
$arr[] = array($qian[$i]=>$hou[$i]);
}
$arr = array_reduce($arr, 'array_merge', array());
$arr = http_build_query($arr);
$url = $query['scheme'] . '://' . $query['host'] . $query['path'] . $arr;
return $url
}

echo qu('http://baidu.com/?aa=111&aaa=111&aaa=555&fff=5555&y=444');

发表回复

提供最优质的资源集合

立即查看 了解详情