检查多个查询字符串的URL变量

时间:2014-11-20 05:08:27

标签: php

目前我有: $_GET["number"] == "one"

我试图让php检查?number=one?number=two?number=three的网址。

如何简化以下代码,以便检查所有3:

(isset($_GET["number"] == "one" && $_GET["number"] == "two" && $_GET["number"] == "three")

4 个答案:

答案 0 :(得分:0)

请查看以下内容:

$arg = array('one', 'two', 'three');
if (isset($_GET["number"]) && in_array($_GET["number"], $arg, TRUE)) {
    // do the stuff
    switch ($_GET["number"]) {
        case 'one':
            // code to be executed for one
            break;
        case 'two':
            // code to be executed for two
            break;
        case 'three':
            // code to be executed for three
            break;
    }
}

答案 1 :(得分:0)

if (isset($_GET['number'])) {
  $options = array("one", "two", "three");
  in_array($_GET['number'], $options);
}

这样您可以稍后扩展您的选项。第一行是确保当number参数不存在时,不执行代码部分,您可能不需要它。检查http://php.net/manual/en/function.in-array.php核心部分。

答案 2 :(得分:0)

首先,您不能在isset()语句中放置条件。然后,如果要检查项目是否存在,请使用OR(||)运算符。如果要检查是否存在所有项目,请使用AND(&&)运算符。所以在你的代码中这样做

if(isset($_GET['number']) && ($_GET['number'] == 'one' || $_GET['number'] == 'two' || $_GET['number'] == 'three'))
{
   // do your stuff here
}

答案 3 :(得分:0)

我希望您正在寻找类似的东西:

if(isset($_GET["number"]) && ($_GET["number"] == "one" || $_GET["number"] == "two" || $_GET["number"] == "three")){
// Do something here
}