检查 url 链接是否已经有参数,添加 ? 或 &

有时候我们需要检查 URL 链接是否已经有参数,然后根据需要判断是添加 ? 还是添加 & 在结尾,这只是一个很小的技巧,但是在做分页或者页面跳转时还是有些用处的。

比如分页,因为有些链接已经有参数了,在附加分页信息的时候不能把原有的参数丢掉,所以判断一下链接是否有参数,然后根据需要附加分页信息。

方法很简单:

((strpos($url, '?') !== false) ? '&' : '?');

检查链接中是否含有 ? ,如果有,如:

http://www.test.com/index.php?id=id

则直接在链接后面添加一个 & 然后跟上分页信息:

http://YITU.org/index.php?id=id&page=12

如果链接中没有参数,如:

http://www.test.com/index.php

则需要添加 & 然后跟上分页信息:

http://YITU.org/index.php?page=12

以上代码只是一个示例,具体实现方法需要您自己编写。

附上一个更为健全的检查方法:

<?php
$old_url = $_SERVER["REQUEST_URI"];

//检查链接中是否存在 ?
$check = strpos($old_url, '?');

//如果存在 ?
if($check !== false)
{
	//如果 ? 后面没有参数,如 http://YITU.org/index.php?
	if(substr($old_url, $check+1) == '')
	{
		//可以直接加上附加参数
		$new_url = $old_url;
	}
	else	//如果有参数,如:http://YITU.org/index.php?ID=12
	{
		$new_url = $old_url.'&';
	}
}
else	//如果不存在 ?
{
	$new_url = $old_url.'?';
}

echo $new_url;
?>

关于 Artlover

有多年 web 开发经验,擅长领域 PHP / MySQL / CSS / Javascript / Zend Framework ,期望:在分享中共同成长。
此条目发表在 PHP 分类目录,贴了 , , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>