我正在尝试找到更简单,更简单的逻辑编码方式。
即如果一个变量等于数组中的任何键值。
例如:
$someArray = array("a","b","c");
If($_GET["foobar"] == $someArray) {
return true;
} else {
return false;
}
如果$ _GET [“foobar”]的值为A,B或C,则该情况将返回true。如果是任何其他值,则返回false。
感谢您的帮助。
答案 0 :(得分:10)
return in_array($_GET["foobar"], $someArray, true);
编辑:添加了可选的true
参数。
答案 1 :(得分:3)
您可以使用关联数组,而不是整数索引数组:
$someArray = array('a' => 1, 'b' => 1, 'c' => 1);
if (isset($someArray[$_GET['foobar']])) {
...
}
如果您不想输入所有数组值或$ someArray的值需要保持不变,则可以使用array_flip
:
$someArray = array('a', 'b', 'c');
...
$otherArray = array_flip($someArray);
if (isset($otherArray[$_GET['foobar']])) {
...
}
您甚至可以在关联数组的值中存储有用的信息。
答案 2 :(得分:2)
您可以使用in_array()功能。我很确定这正是你要找的。这是您提供的代码示例中的函数。
$someArray = array("a","b","c");
if(in_array($_GET["foobar"],$someArray)) {
return true;
} else {
return false;
}