检查url是否包含参数 [英] Check if url contains parameters

查看:40
本文介绍了检查url是否包含参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复:
分页时保留url参数

我想用php给当前url添加一个参数,但是我怎么知道url是否已经包含了一个参数?

I want to add a parameter to the current url with php, but how do I know if the url already contains a parameter?

示例:

foobar.com/foo/bar/index.php => foobar.com/foo/bar/index.php?myparameter=5foob​​ar.com/index.php?foo=7 => foobar.com/index.php?foo=7&myparameter=5

foobar.com/foo/bar/index.php => foobar.com/foo/bar/index.php?myparameter=5 foobar.com/index.php?foo=7 => foobar.com/index.php?foo=7&myparameter=5

主要问题是我不知道是否需要添加?".

The main problem is that I don't know if I need to add a "?".

我的代码(在某处找到,但不起作用):

My code (found it somewhere, but it doesn't work):

<?php   if(/?/.test(self.location.href)){ //if url contains ?
    $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]&myparameter=5";
} else {
    $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]?myparameter=5"; 
}?>

推荐答案

URL 参数是从名为 $_GET 的全局变量接收的,该变量实际上是一个数组.因此,要知道 URL 是否包含参数,您可以使用 isset() 函数.

The URL parameters are received from a global variable called $_GET which is in fact an array. So, to know if a URL contains a parameter, you can use isset() function.

if (isset($_GET['yourparametername'])) {
    //The parameter you need is present
}

之后,您可以创建需要附加到 URL 的此类参数的单独数组.喜欢:

Afterwards, you can create separate array of such parameter you need to attach to a URL. Like:

if(isset($_GET['param1'])) {
    \\The parameter you need is present
    $attachList['param1'] = $_GET['param1'];
}
if(isset($_GET['param2'])) {
    $attachList['param2'] = $_GET['param2];
}

现在,要知道是否需要 ? 符号,只需计算这个数组

Now, to know whether or not, you need a ? symbol, just count this array

if(count($attachList)) {
    $link .= "?";
    // and so on
}

更新:

要知道是否设置了任何参数,只需计算 $_GET

To know if any parameter is set, just count the $_GET

if(count($_GET)) {
     //some parameters are set
}

这篇关于检查url是否包含参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆