PHP检测是否已设置任何URL变量

时间:2009-11-17 12:52:47

标签: php

我有一个网页,可以设置任意数量的URL varibales ..例如:

  • index.php?source = lol
  • 的index.php源=洛尔&安培;分=哈哈
  • 的index.php?AFF = 123
  • 的index.php?关键字=比萨饼

我想要一种方法,我可以检测到任何url变量已经设置,如果已经设置了url变量我想在页面上打印一些东西。有任何想法吗?我在Google上找不到任何关于此事的内容。

6 个答案:

答案 0 :(得分:7)

count($_GET);将返回网址中的参数数量。使用if (count($_GET) > 0)来测试他们的存在。

例如:

if (count($_GET) > 0){
    print "You supplied values!";
} else {
    print "Please supply some values.";
}

答案 1 :(得分:1)

检查isset($ _ GET ['var_name'])

http://php.net/isset

答案 2 :(得分:0)

您可以查看是否已使用issetarray_key_exists设置变量:

if (isset($_GET['source']))
    doSomething();

你可以循环遍历所有的querystring变量:

foreach ($_GET as $key => $value)
    echo htmlspecialchars($key) . ' is set to ' . htmlspecialchars($value);

答案 3 :(得分:0)

更一般:

if (count($_GET)) {
 foreach ($_GET as $key => $value) {
  echo "Key $key has been set to $value<br />\n";
 }
}

答案 4 :(得分:0)

如果要检查是否已发送任何变量,请使用以下功能。

function hasGet()
{
    return !empty($_GET);
}

if (hasGet()) {
    echo "something on the page";
}

答案 5 :(得分:0)

因为$ _GET返回一个数组,使用sizeof()函数检查其大小可能更安全

示例:

 if(sizeof($_GET)>0){
   /*you had passed something on your link*/
 }else{
   /*you did not passed anything on your link*/
 }