如果[获取变量]等于[数组]

时间:2009-11-27 07:16:23

标签: php

我正在尝试找到更简单,更简单的逻辑编码方式。

即如果一个变量等于数组中的任何键值。

例如:

$someArray = array("a","b","c");
If($_GET["foobar"] == $someArray) {
     return true;
} else {
     return false;
}

如果$ _GET [“foobar”]的值为A,B或C,则该情况将返回true。如果是任何其他值,则返回false。

感谢您的帮助。

3 个答案:

答案 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;
}