php url 参数会重复,怎么处理重复url参数,谢谢
<?php$get=array_unique($_GET);//$get['newparam']='new_value';$query=http_build_query(...
<?php $get = array_unique($_GET);
//$get['newparam'] = 'new_value';
$query = http_build_query($get);
$url= "?".$query;
echo $url;
?><div><a href="<?=$url?>&id=6">菜单1</a><a href="<?=$url?>&id=7">菜单2</a><a href="<?=$url?>&id=8">菜单3</a></div><div><a href="<?=$url?>&t=6">菜单1</a><a href="<?=$url?>&t=7">菜单2</a><a href="<?=$url?>&t=8">菜单3</a></div> 展开
//$get['newparam'] = 'new_value';
$query = http_build_query($get);
$url= "?".$query;
echo $url;
?><div><a href="<?=$url?>&id=6">菜单1</a><a href="<?=$url?>&id=7">菜单2</a><a href="<?=$url?>&id=8">菜单3</a></div><div><a href="<?=$url?>&t=6">菜单1</a><a href="<?=$url?>&t=7">菜单2</a><a href="<?=$url?>&t=8">菜单3</a></div> 展开
展开全部
重复是你自己加的<a href="<?=$url?>&id=6">菜单1</a>
这样写吧你
<?php $get = array_unique($_GET);
//$get['newparam'] = 'new_value';
isset($get['id']) && unset($get['id']);
$query = http_build_query($get);
$url= "?".$query;
echo $url;
?>
<div>
<a href="<?=$url?>&id=6">菜单1</a>
<a href="<?=$url?>&id=7">菜单2</a>
<a href="<?=$url?>&id=8">菜单3</a>
</div>
或者
<?php $get = array_unique($_GET);
//$get['newparam'] = 'new_value';
?>
<div>
<a href="?<?php echo http_build_query(array_merge($get,array('id'=>6))); ?>">菜单1</a>
<a href="?<?php echo http_build_query(array_merge($get,array('id'=>7))); ?>">菜单2</a>
<a href="?<?php echo http_build_query(array_merge($get,array('id'=>8))); ?>">菜单3</a>
</div>
更多追问追答
追问
第二种这样写OK了,但是如何写成一个处理这样url的类啊
追答
没必要写类啊!你又不URL重写,你直接写个函数把上面的封装下就可以了啊!竟然你玩PHP,这是最本的了!
还有你的$get = array_unique($_GET);完全没必要,id=1&uid=1这两个是两个不同的值,可是用了那个函数,就只剩一个了,你好好看看手册吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询