检查url链接是否已经有参数的php代码 添加 ? 或 &

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

方法很简单:
复制代码 代码如下:
((strpos($url, '?') !== false) ? '&' : '?');


检查链接中是否含有 ? ,如果有,如:
http://www.test.com/index.php?id=id
则直接在链接后面添加一个 & 然后跟上分页信息:
//www.jb51.net/index.php?id=id&page=12

如果链接中没有参数,如:
http://www.test.com/index.php
则需要添加 & 然后跟上分页信息:
//www.jb51.net/index.php?page=12

附上一个更为健全的检查方法:
复制代码 代码如下:

<?php
$old_url = $_SERVER["REQUEST_URI"];
//检查链接中是否存在 ?
$check = strpos($old_url, '?');
//如果存在 ?
if($check !== false)
{
//如果 ? 后面没有参数,如 http://www.yitu.org/index.php?
if(substr($old_url, $check+1) == '')
{
//可以直接加上附加参数
$new_url = $old_url;
}
else //如果有参数,如:http://www.yitu.org/index.php?ID=12
{
$new_url = $old_url.'&';
}
}
else //如果不存在 ?
{
$new_url = $old_url.'?';
}
echo $new_url;
?>

相关文章

php实现替换手机号中间数字为*号及隐藏IP最后几位的方法

本文实例讲述了php实现替换手机号中间数字为*号及隐藏IP最后几位的方法。分享给大家供大家参考,具体如下: $string = "13826589549"; $pattern = "...

PHP面相对象中的重载与重写

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类...

php对csv文件的读取,写入,输出下载操作详解

复制代码 代码如下:<?php       $file = fopen('text.csv','r');   ...

php解析base64数据生成图片的方法

php解析base64数据生成图片的方法

本文实例讲述了php解析base64数据生成图片的方法。分享给大家供大家参考,具体如下: $base64 = "/9j/4AAQSkZJRgABAQEAkACQAAD/4QCMRXh...

实例简介PHP的一些高级面向对象编程的特性

一般来说,学习PHP需要了解下面的一些特性: 对象克隆。PHP5中对OOP模型的主要改进之一,是将所有对象都看作引用,而不是值。但是,如果所有对象都视为引用,那么如何创建对象的副本呢?答...