目前我有:
$_GET["number"] == "one"
我试图让php检查?number=one
,?number=two
或?number=three
的网址。
如何简化以下代码,以便检查所有3:
(isset($_GET["number"] == "one" && $_GET["number"] == "two" && $_GET["number"] == "three")
答案 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
}